diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2011-05-11 18:00:32 +0200 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2011-05-11 18:13:14 +0200 |
commit | 69643e4829c5cd13bafe44a6b9f3eb2086e0f618 (patch) | |
tree | 037eada00fbb3ca86196a736c289fa31d8c58ac7 /drivers/pci | |
parent | PCI: Set PCIE maxpayload for card during hotplug insertion (diff) | |
download | linux-69643e4829c5cd13bafe44a6b9f3eb2086e0f618.tar.xz linux-69643e4829c5cd13bafe44a6b9f3eb2086e0f618.zip |
PCI hotplug: acpiphp: assume device is in state D0 after powering on a slot.
Devices which do not support PCI configuration space based power
management may not otherwise be enabled.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/hotplug/acpiphp_glue.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c index 2f67e9bc2f96..a70fa89f76fd 100644 --- a/drivers/pci/hotplug/acpiphp_glue.c +++ b/drivers/pci/hotplug/acpiphp_glue.c @@ -827,6 +827,13 @@ static int __ref enable_device(struct acpiphp_slot *slot) acpiphp_set_hpp_values(bus); acpiphp_set_acpi_region(slot); pci_enable_bridges(bus); + + list_for_each_entry(dev, &bus->devices, bus_list) { + /* Assume that newly added devices are powered on already. */ + if (!dev->is_added) + dev->current_state = PCI_D0; + } + pci_bus_add_devices(bus); list_for_each_entry(func, &slot->funcs, sibling) { |