ACPI / hotplug / PCI: Runtime resume bridges before bus rescans
[cascardo/linux.git] / drivers / pci / hotplug / acpiphp_glue.c
index fa49f91..a46b585 100644 (file)
@@ -675,6 +675,9 @@ static void acpiphp_check_bridge(struct acpiphp_bridge *bridge)
        if (bridge->is_going_away)
                return;
 
+       if (bridge->pci_dev)
+               pm_runtime_get_sync(&bridge->pci_dev->dev);
+
        list_for_each_entry(slot, &bridge->slots, node) {
                struct pci_bus *bus = slot->bus;
                struct pci_dev *dev, *tmp;
@@ -694,6 +697,9 @@ static void acpiphp_check_bridge(struct acpiphp_bridge *bridge)
                        disable_slot(slot);
                }
        }
+
+       if (bridge->pci_dev)
+               pm_runtime_put(&bridge->pci_dev->dev);
 }
 
 /*