summaryrefslogtreecommitdiffstats
path: root/kernel/drivers/pci/pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/drivers/pci/pci.c')
-rw-r--r--kernel/drivers/pci/pci.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/drivers/pci/pci.c b/kernel/drivers/pci/pci.c
index 42d861735..e311a9bf2 100644
--- a/kernel/drivers/pci/pci.c
+++ b/kernel/drivers/pci/pci.c
@@ -2043,6 +2043,10 @@ bool pci_dev_run_wake(struct pci_dev *dev)
if (!dev->pme_support)
return false;
+ /* PME-capable in principle, but not from the intended sleep state */
+ if (!pci_pme_capable(dev, pci_target_state(dev)))
+ return false;
+
while (bus->parent) {
struct pci_dev *bridge = bus->self;