]> git.baikalelectronics.ru Git - kernel.git/commit
PCI hotplug: Always allow acpiphp to handle non-PCIe bridges
authorRafael J. Wysocki <rjw@sisk.pl>
Mon, 12 Dec 2011 23:02:28 +0000 (00:02 +0100)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Tue, 13 Dec 2011 18:41:23 +0000 (10:41 -0800)
commit664a82be61b7fe6c54cf51148c87ba6e5c3c3d9c
tree34765be3139cb3278e901da8708c82a2650dc983
parent1e8e3f60f06f00c5ae5c1bcfadb6fda05034c0b1
PCI hotplug: Always allow acpiphp to handle non-PCIe bridges

Commit 31b25f203845d630edb8ae866f78e14dd621f0d1 (PCI / ACPI: Make
acpiphp ignore root bridges using PCIe native hotplug) added code
that made the acpiphp driver completely ignore PCIe root complexes
for which the kernel had been granted control of the native PCIe
hotplug feature by the BIOS through _OSC.  Unfortunately, however,
this was a mistake, because on some systems there were PCI bridges
supporting PCI (non-PCIe) hotplug under such root complexes and
those bridges should have been handled by acpiphp.

For this reason, revert the changes made by the commit mentioned
above and make register_slot() in drivers/pci/hotplug/acpiphp_glue.c
avoid registering hotplug slots for PCIe ports that belong to
root complexes with native PCIe hotplug enabled (which means that
the BIOS has granted the kernel control of this feature for the
given root complex).  This is reported to address the original
issue fixed by commit 31b25f203845d630edb8ae866f78e14dd621f0d1 and
to work on the system where that commit broke things.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/hotplug/acpiphp_glue.c