Messages in this thread | | | From | "Rafael J. Wysocki" <> | Subject | Re: [PATCH] acpi: pci_root: fix NULL pointer deref after resume from suspend | Date | Wed, 30 Sep 2009 01:31:14 +0200 |
| |
On Tuesday 29 September 2009, Alex Chiang wrote: > * Rafael J. Wysocki <rjw@sisk.pl>: > > On Tuesday 29 September 2009, Danny Feng wrote: > > > Is there any cases that pdev->subordinate is NULL while pdev is bridge > > > device? > > > From pci_slot.c::walk_p2p_bridge, there's code like following: > > > > > > dev = pci_get_slot(pci_bus, PCI_DEVFN(device, function)); > > > if (!dev || !dev->subordinate) > > > goto out; > > > > > > It looks like dev->subordinate can be NULL even if in p2p > > > bridge, right? > > In the code you post above, that results from doing an ACPI > namespace walk, which will definitely find non-bridge devices. > > > Right, in general, but in this particular case each device we > > inspect is supposed to be a parent of another device, which > > implies that there's a bus below it (given that it's a PCI > > device). > > Right, that's why I'm surprised that my assumption broke. But now > that I see that a dock device is involved, maybe that's not so > surprising.
Yeah. Still, I'd like to know the root cause.
Thanks, Rafael
| |