Messages in this thread | | | From | "Rafael J. Wysocki" <> | Subject | Re: [PATCH 0/4] ACPI / bind: Simplify child devices lookup | Date | Wed, 27 Nov 2013 01:27:05 +0100 |
| |
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?
Rafael
| |