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 -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html