On Wed, 29 Jul 2020, Mark D Rustad wrote: > at 12:58 AM, Lee Jones <lee.jones@xxxxxxxxxx> wrote: > > > If you do: > > > > do { > > int pos; > > > > pos = pci_find_next_ext_capability(pdev, pos, PCI_EXT_CAP_ID_DVSEC); > > if (!pos) > > break; > > > > Then you can invoke pci_find_next_ext_capability() once, no? > > Part of your suggestion here won't work, because pos needs to be initialized > to 0 the first time. As such it needs to be declared and initialized outside > the loop. Other than that it may be ok. Right. It was just an example I quickly hacked out. Feel free to move the variable, or make it static, etc. -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog