On Tue, 2009-06-16 at 15:19 -0700, Linus Torvalds wrote: > > On Tue, 16 Jun 2009, Andrew Patterson wrote: > > > > I recently ran into a resource collision problem where PCI hot-plug > > operations are failing for certain PCI topologies. One case > > illustrating the problem is using a QLogic PCIe HBA in a slot with a > > PCIe root port as its parent bus. Here is an abbreviated lspci output > > for this topology: > > I think the problem is real, but the fix is wrong. > > > After boot, the resource tree looks like: > > > > f0000000-fdffffff : PCI Bus 0000:c3 > > f0000000-fdffffff : PCI Bus 0000:c2 > > So the problem is 9if I get this correctly) that c3 should be _inside_ c2. That is at least one problem. I initially tried reparenting this stuff. That is what got backed out in http://thread.gmane.org/gmane.linux.kernel/768526/ > No? > > But you fix it by making find_resource always go as deep as it can (if I > read the code correctly). Well, just deep enough. > Which is not necessarily always what we want > either - we've had this kind of confusion before, and the problem is that > different users of find_resource simply want different thing find_resources is only called by allocate_resources, which in turn is called in about 15 places. I think this change won't affect callers other than pci_bus_alloc_resource as I am careful to maintain current behavior as much as possible. Is there a reason that find_resources should stop at the roots immediate child/sibling. It seems like a bug to me. Hence this patch. > > The deeper problem (I think) is that the whole "find c3 resource" thing > should not have started from the root IN THE FIRST PLACE. I think it > should have started from its parent resources (and then, as a special > case, if the parent is transparent, look into the parent of the parent, > etc - in which case it can easily end up in the root in the end, but only > if it couldn't fit things in a parent window). > > And I'm almost certain that I've seen that patch from Ivan at some point, > but it was after the merge window closed so it didn't get merged. > > Ivan? Or anybody else who remembers the patch? > > Linus > -- Andrew Patterson Hewlett-Packard -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html