diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2012-11-15 00:13:50 +0100 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2012-11-15 00:13:50 +0100 |
commit | dea553e3fc63c5e53a3f8741f0c9f840660cf06e (patch) | |
tree | 3f87bc48f50c318f248934e74de8206a8597480f /drivers/pci | |
parent | Linux 3.7-rc5 (diff) | |
parent | PM / QoS: Resume device before exposing/hiding PM QoS flags (diff) | |
download | linux-dea553e3fc63c5e53a3f8741f0c9f840660cf06e.tar.xz linux-dea553e3fc63c5e53a3f8741f0c9f840660cf06e.zip |
Merge branch 'pm-qos' into acpi-dev-pm
Material in the 'acpi-dev-pm' branch depends on 'pm-qos' commits.
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/pci-acpi.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c index c5792d622dc4..63d6618a4804 100644 --- a/drivers/pci/pci-acpi.c +++ b/drivers/pci/pci-acpi.c @@ -17,6 +17,7 @@ #include <linux/pci-acpi.h> #include <linux/pm_runtime.h> +#include <linux/pm_qos.h> #include "pci.h" static DEFINE_MUTEX(pci_acpi_pm_notify_mtx); @@ -257,11 +258,16 @@ static int acpi_pci_set_power_state(struct pci_dev *dev, pci_power_t state) return -ENODEV; switch (state) { + case PCI_D3cold: + if (dev_pm_qos_flags(&dev->dev, PM_QOS_FLAG_NO_POWER_OFF) == + PM_QOS_FLAGS_ALL) { + error = -EBUSY; + break; + } case PCI_D0: case PCI_D1: case PCI_D2: case PCI_D3hot: - case PCI_D3cold: error = acpi_bus_set_power(handle, state_conv[state]); } |