From 1646be431f61e0e380c0a0fdad4f0198577b4d11 Mon Sep 17 00:00:00 2001 From: "Rafael J. Wysocki" Date: Tue, 7 Feb 2012 00:50:35 +0100 Subject: [PATCH] --- yaml --- r: 294723 b: refs/heads/master c: 5b415f1e79e0c09366f26e3eabe751642059285a h: refs/heads/master i: 294721: ff5077d4cc8daae6b78fcf8025d7ac2b6d7af0ef 294719: 9a29af615f5975b49947982c48d12ba162a97576 v: v3 --- [refs] | 2 +- trunk/drivers/pci/pci-driver.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 14dc17c52506..ce15370c982e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 09cedbef4428580a09b342a7a92a262cfb5cbf25 +refs/heads/master: 5b415f1e79e0c09366f26e3eabe751642059285a diff --git a/trunk/drivers/pci/pci-driver.c b/trunk/drivers/pci/pci-driver.c index 3623d65f8b86..5d19695c771a 100644 --- a/trunk/drivers/pci/pci-driver.c +++ b/trunk/drivers/pci/pci-driver.c @@ -430,6 +430,16 @@ static void pci_device_shutdown(struct device *dev) drv->shutdown(pci_dev); pci_msi_shutdown(pci_dev); pci_msix_shutdown(pci_dev); + + /* + * Devices may be enabled to wake up by runtime PM, but they need not + * be supposed to wake up the system from its "power off" state (e.g. + * ACPI S5). Therefore disable wakeup for all devices that aren't + * supposed to wake up the system at this point. The state argument + * will be ignored by pci_enable_wake(). + */ + if (!device_may_wakeup(dev)) + pci_enable_wake(pci_dev, PCI_UNKNOWN, false); } #ifdef CONFIG_PM