|
@@ -53,14 +53,15 @@ static void pci_acpi_wake_dev(acpi_handle handle, u32 event, void *context)
|
|
|
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;
|
|
|
+ /* Clear PME Status if set. */
|
|
|
+ if (pci_dev->pme_support)
|
|
|
+ pci_check_pme_status(pci_dev);
|
|
|
|
|
|
- pci_wakeup_event(pci_dev);
|
|
|
- pm_runtime_resume(&pci_dev->dev);
|
|
|
- }
|
|
|
+ if (pci_dev->pme_poll)
|
|
|
+ pci_dev->pme_poll = false;
|
|
|
+
|
|
|
+ pci_wakeup_event(pci_dev);
|
|
|
+ pm_runtime_resume(&pci_dev->dev);
|
|
|
|
|
|
if (pci_dev->subordinate)
|
|
|
pci_pme_wakeup_bus(pci_dev->subordinate);
|