diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2011-05-11 17:00:32 +0100 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2011-05-11 09:13:14 -0700 |
commit | 69643e4829c5cd13bafe44a6b9f3eb2086e0f618 (patch) | |
tree | 037eada00fbb3ca86196a736c289fa31d8c58ac7 /drivers/pci/hotplug | |
parent | e522a7126c7c144a1dd14c6f217ac31e71082b1d (diff) | |
download | op-kernel-dev-69643e4829c5cd13bafe44a6b9f3eb2086e0f618.zip op-kernel-dev-69643e4829c5cd13bafe44a6b9f3eb2086e0f618.tar.gz |
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/hotplug')
-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 2f67e9b..a70fa89 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) { |