Re: [PATCH 0/4] ACPI / bind: Simplify child devices lookup

From: Toshi Kani
Date: Tue Nov 26 2013 - 19:38:19 EST


On Wed, 2013-11-27 at 01:27 +0100, Rafael J. Wysocki wrote:
> On Tuesday, November 26, 2013 05:00:42 PM Toshi Kani wrote:
> > On Mon, 2013-11-25 at 01:09 +0100, Rafael J. Wysocki wrote:
> > > Hi,
> > >
> > > The following series of four patches (on top of current linux-pm.git/bleeding-edge)
> > > rework child device lookup in drivers/acpi/glue.c and related things:
> > >
> > > [1/4] ACPI / bind: Simplify child device lookup
> > > [2/4] PCI/ ACPI: Use acpi_find_child_device() for child device lookup
> > > [3/4] ACPI / bind: Redefine acpi_get_child()
> > > [4/4] ACPI / bind: Redefine acpi_preset_companion()
> >
> > This patchset caused the attached panic during boot on a system.
> > acpi_pci_find_device() called acpi_find_child_device() with
> > ACPI_COMPANION(dev->parent) being a NULL pointer when scanning bus 0xf.
> >
> > This bus 0xf seems to be a chipset internal bus, which is not intended
> > for the OS to use. Therefore, ACPI does not list its PCI bridge device.
> >
> > # lspci -tv
> > :
> > +-[0000:0f]-+-08.0 Intel Corporation Ivytown QPI Link 0
> > | +-08.2 Intel Corporation Ivytown QPI Link 0
> > :
> >
> > However, pcibios_fixup_peer_bridges(), called from pci_subsys_init(),
> > finds this bus as it scans all the buses from 0 to pcibios_last_bus.
> > Hence, this dev->parent does not have an associated ACPI device object.
>
> Thanks for the report!
>
> I've dropped the patches from bleeding-edge for now.
>
> Does "[1/4] ACPI / bind: Simplify child device lookup" alone work on that
> system?

Yes, the system boots fine with 1/4 alone.

Thanks,
-Toshi

--
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/