• Rafael J. Wysocki's avatar
    PCI hotplug: Always allow acpiphp to handle non-PCIe bridges · 619a5182
    Rafael J. Wysocki authored
    Commit 0d52f54e (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 0d52f54e and
    to work on the system where that commit broke things.
    Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
    Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    619a5182
acpiphp_glue.c 37.8 KB