[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48861BAC.1080009@extricom.com>
Date: Tue, 22 Jul 2008 20:41:00 +0300
From: Eran Liberty <liberty@...ricom.com>
To: Matthew Wilcox <matthew@....cx>
CC: eran liberty <eran.liberty@...il.com>,
linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org,
Jesse Barnes <jbarnes@...tuousgeek.org>
Subject: Re: [PATCH 2.6.26] PCI: refuse to re-add a device to a bus upon pci_scan_child_bus()
Matthew Wilcox wrote:
> On Tue, Jul 22, 2008 at 06:25:40PM +0300, Eran Liberty wrote:
>
>> If my devices where the only one on the bus I would not have stumbled on
>> this bug. I would have removed them all before reloading and would have
>> scanned and empty PCI bus list after the reloading.
>>
>
> That's not true, the code you posted:
>
> bus = null;
> while ((bus = pci_find_next_bus(bus)) != NULL) {
> pci_scan_child_bus(bus);
> pci_bus_assign_resources(bus);
> pci_bus_add_devices(bus);
> }
>
> will scan all busses again.
>
You are correct! I have a single bus :)
>
>> Alas, the CPU itself is a pci device. Upon scanning the bus it is it who
>> is duplicated. Upon trying to "pci_bus_add_devices()" you get resource
>> collision.
>>
>
> Does the CPU have BARs of its own? If you have no other devices with
> BARs, it would explain why you have not noticed the problem with
> fixup_resource ;-)
>
I seriously doubt my CPU has any resources of its own.
>
>> Do you perceive any down side to my suggested patch?
>> It seems (to me) really logical that a device can not and should not be
>> added twice to a pci bus device list.
>>
>
> The problem is the other side-effects of what you propose.
>
Could you elaborate what ominous side-effects you predict?
Liberty
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists