diff options
Diffstat (limited to 'drivers/pci/pci-acpi.c')
| -rw-r--r-- | drivers/pci/pci-acpi.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c index dee5dddaa292..5147c210df52 100644 --- a/drivers/pci/pci-acpi.c +++ b/drivers/pci/pci-acpi.c | |||
| @@ -53,14 +53,15 @@ static void pci_acpi_wake_dev(acpi_handle handle, u32 event, void *context) | |||
| 53 | return; | 53 | return; |
| 54 | } | 54 | } |
| 55 | 55 | ||
| 56 | if (!pci_dev->pm_cap || !pci_dev->pme_support | 56 | /* Clear PME Status if set. */ |
| 57 | || pci_check_pme_status(pci_dev)) { | 57 | if (pci_dev->pme_support) |
| 58 | if (pci_dev->pme_poll) | 58 | pci_check_pme_status(pci_dev); |
| 59 | pci_dev->pme_poll = false; | ||
| 60 | 59 | ||
| 61 | pci_wakeup_event(pci_dev); | 60 | if (pci_dev->pme_poll) |
| 62 | pm_runtime_resume(&pci_dev->dev); | 61 | pci_dev->pme_poll = false; |
| 63 | } | 62 | |
| 63 | pci_wakeup_event(pci_dev); | ||
| 64 | pm_runtime_resume(&pci_dev->dev); | ||
| 64 | 65 | ||
| 65 | if (pci_dev->subordinate) | 66 | if (pci_dev->subordinate) |
| 66 | pci_pme_wakeup_bus(pci_dev->subordinate); | 67 | pci_pme_wakeup_bus(pci_dev->subordinate); |
