[GIT PULL] PCI / ACPI fix for 4.1-rc6

From: Rafael J. Wysocki
Date: Fri May 29 2015 - 19:39:33 EST


Hi Linus,

Please pull from

git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
acpi-pci-4.1-rc6

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().

Thanks!


---------------

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