[lkml]   [2015]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[GIT PULL] PCI / ACPI fix for 4.1-rc6
Hi Linus,

Please pull from

git:// \

to receive a fix for the ACPI PCI host bridge initialization code
as commit dc4fdaf0e4839109169d8261814813816951c75f

PCI / ACPI: Do not set ACPI companions for host bridges with parents

on top of commit ba155e2d21f6bf05de86a78dbe5bfd8757604a65

Linux 4.1-rc5

This fixes a bug uncovered by a recent driver core change that
modified the implementation of the ACPI_COMPANION_SET() macro to
strictly rely on its second argument to be either NULL or a valid
pointer to struct acpi_device.

As it turns out, pcibios_root_bridge_prepare() on x86 and ia64
works with the assumption that the only code path calling
pci_create_root_bus() is pci_acpi_scan_root() and therefore
the sysdata argument passed to it will always match the
expectations of pcibios_root_bridge_prepare(). That need not
be the case, however, and in particular it is not the case for
the Xen pcifront driver that passes a pointer to its own private
data strcture as sysdata to pci_scan_bus_parented() which then
passes it to pci_create_root_bus() and it ends up being used
incorrectly by pcibios_root_bridge_prepare().



Rafael J. Wysocki (1):
PCI / ACPI: Do not set ACPI companions for host bridges with parents


arch/ia64/pci/pci.c | 13 ++++++++++---
arch/x86/pci/acpi.c | 13 ++++++++++---
2 files changed, 20 insertions(+), 6 deletions(-)

 \ /
  Last update: 2015-05-30 02:21    [W:0.035 / U:4.448 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site