diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-02-03 02:22:27 +0100 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-02-03 22:28:26 +0100 |
commit | d42f5da2340083301dd2c48ff2d75f6ce4b30767 (patch) | |
tree | 5b0552698709842d04c8cd72e292514a65d9bce2 /drivers | |
parent | ACPI / hotplug / PCI: Move PCI rescan-remove locking to hotplug_event() (diff) | |
download | linux-d42f5da2340083301dd2c48ff2d75f6ce4b30767.tar.xz linux-d42f5da2340083301dd2c48ff2d75f6ce4b30767.zip |
ACPI / hotplug / PCI: Scan root bus under the PCI rescan-remove lock
Since acpiphp_check_bridge() called by acpiphp_check_host_bridge()
does things that require PCI rescan-remove locking around it,
make acpiphp_check_host_bridge() use that locking.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/pci/hotplug/acpiphp_glue.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c index 6e5bd79af810..931d0b44eace 100644 --- a/drivers/pci/hotplug/acpiphp_glue.c +++ b/drivers/pci/hotplug/acpiphp_glue.c @@ -829,7 +829,11 @@ void acpiphp_check_host_bridge(acpi_handle handle) bridge = acpiphp_handle_to_bridge(handle); if (bridge) { + pci_lock_rescan_remove(); + acpiphp_check_bridge(bridge); + + pci_unlock_rescan_remove(); put_bridge(bridge); } } |