Re: [PATCH v3, part2 15/20] PCI, EDAC: use hotplug-safe PCI busiterators to walk PCI buses

From: Bjorn Helgaas
Date: Tue Jun 25 2013 - 23:01:05 EST


On Tue, Jun 18, 2013 at 10:33 AM, Jiang Liu <liuj97@xxxxxxxxx> wrote:
> On 06/18/2013 04:18 AM, Bjorn Helgaas wrote:
>> On Sun, May 26, 2013 at 11:53:12PM +0800, Jiang Liu wrote:
>>> Enhance EDAC drviers to use hotplug-safe iterators to walk PCI buses.
>>>
>>> Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxx>
>>> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
>>> Cc: Doug Thompson <dougthompson@xxxxxxxxxxxx> r
>>> Cc: linux-edac@xxxxxxxxxxxxxxx
>>> Cc: linux-kernel@xxxxxxxxxxxxxxx
>>> ---
>>> drivers/edac/i7core_edac.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/edac/i7core_edac.c b/drivers/edac/i7core_edac.c
>>> index 0ec3e95..7146e10 100644
>>> --- a/drivers/edac/i7core_edac.c
>>> +++ b/drivers/edac/i7core_edac.c
>>> @@ -1296,7 +1296,7 @@ static unsigned i7core_pci_lastbus(void)
>>> int last_bus = 0, bus;
>>> struct pci_bus *b = NULL;
>>>
>>> - while ((b = pci_find_next_bus(b)) != NULL) {
>>> + for_each_pci_root_bus(b) {
>>
>> This doesn't look equivalent. Previously, we iterated over all PCI
>> buses, so we returned the highest bus number seen anywhere. Now we
>> only look at root buses, so we return the highest bus number of any
>> root bus. But if that root bus has a bridge on it, obviously the
>> bus on the other side has a higher number.
> Hi Bjorn,
> I think the name pci_find_next_bus() is misleading, it should be named
> pci_find_next_root_bus() actually because it returns next root bus indeed.

Oh, you forgot to mention that critical bit of information! That
should be in the changelog of every patch that changes a call to
pci_find_next_bus().

Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/