• Rafael J. Wysocki's avatar
    PCI/ACPI: Make acpiphp ignore root bridges using SHPC native hotplug · d90116ea
    Rafael J. Wysocki authored
    If the kernel has requested control of the SHPC native hotplug
    feature for a given root bridge, the acpiphp driver should not try
    to handle that root bridge and it should leave it to shpchp.
    Failing to do so causes problems to happen if shpchp is loaded
    and unloaded before loading acpiphp (ACPI-based hotplug won't work
    in that case anyway).
    
    To address this issue make find_root_bridges() ignore PCI root
    bridges with SHPC native hotplug enabled and make add_bridge()
    return error code if SHPC native hotplug is enabled for the given
    root bridge.  This causes acpiphp to refuse to load if SHPC native
    hotplug is enabled for all root bridges and to refuse binding to
    the root bridges with SHPC native hotplug enabled.
    Reviewed-by: default avatarKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
    Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
    Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    d90116ea
acpiphp_glue.c 37.9 KB