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, -Toshi