lkml.org 
[lkml]   [2013]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 0/4] ACPI / bind: Simplify child devices lookup
Date
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



\
 
 \ /
  Last update: 2013-11-27 01:21    [W:0.313 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site