From 69643e4829c5cd13bafe44a6b9f3eb2086e0f618 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Wed, 11 May 2011 17:00:32 +0100 Subject: 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 Signed-off-by: Jesse Barnes --- drivers/pci/hotplug/acpiphp_glue.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'drivers/pci/hotplug') 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) { -- cgit v1.2.2