From 2968018584252b19a6604c5c8fe959fb810c9148 Mon Sep 17 00:00:00 2001 From: "Rafael J. Wysocki" Date: Sun, 6 Nov 2011 22:21:46 +0100 Subject: [PATCH] --- yaml --- r: 283327 b: refs/heads/master c: 4716a450eb490090b70f0d9fca8d0a6159e505ad h: refs/heads/master i: 283325: da7a33b41d09d491f1a94aeb756e64fa6e513872 283323: 199c108e90d2394d0c56d21a9e550da8dd291a90 283319: 01b7d7503fe0c227ea6605cc22b400942ffd7eed 283311: fa080a39ffa9a6531905c1c9d58028df74de534a 283295: 49c7eb4b75addc79a373d0903231fb551a375e02 283263: 86cd68d0ef8dfa4b98693fd8f6f7f4e16e9fd426 v: v3 --- [refs] | 2 +- trunk/drivers/pci/pci-acpi.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 6d8b877d40f8..c2b9d08642e1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ab4ca7821fda0ddb7c86db3b9d64d48ea7dead72 +refs/heads/master: 4716a450eb490090b70f0d9fca8d0a6159e505ad diff --git a/trunk/drivers/pci/pci-acpi.c b/trunk/drivers/pci/pci-acpi.c index c8e75851a314..060fd22a1103 100644 --- a/trunk/drivers/pci/pci-acpi.c +++ b/trunk/drivers/pci/pci-acpi.c @@ -45,16 +45,20 @@ static void pci_acpi_wake_dev(acpi_handle handle, u32 event, void *context) { struct pci_dev *pci_dev = context; - if (event == ACPI_NOTIFY_DEVICE_WAKE && pci_dev) { + if (event != ACPI_NOTIFY_DEVICE_WAKE || !pci_dev) + return; + + if (!pci_dev->pm_cap || !pci_dev->pme_support + || pci_check_pme_status(pci_dev)) { if (pci_dev->pme_poll) pci_dev->pme_poll = false; pci_wakeup_event(pci_dev); - pci_check_pme_status(pci_dev); pm_runtime_resume(&pci_dev->dev); - if (pci_dev->subordinate) - pci_pme_wakeup_bus(pci_dev->subordinate); } + + if (pci_dev->subordinate) + pci_pme_wakeup_bus(pci_dev->subordinate); } /**