On Tue, Nov 01, 2011 at 11:02:12AM -0700, Linus Torvalds wrote: > I think there's some interrupt hooked up to the PME events, and that > interrupt is then shared with the EHCI driver. They could both be on the same GPE, but even then we should probably only be actually waking them if there's a PME set. Can you try this: diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c index 4ecb640..67698e8 100644 --- a/drivers/pci/pci-acpi.c +++ b/drivers/pci/pci-acpi.c @@ -50,8 +50,10 @@ static void pci_acpi_wake_dev(acpi_handle handle, u32 event, void *context) pci_dev->pme_poll = false; pci_wakeup_event(pci_dev); - pci_check_pme_status(pci_dev); - pm_runtime_resume(&pci_dev->dev); + + if (pci_check_pme_status(pci_dev)) + pm_runtime_resume(&pci_dev->dev); + if (pci_dev->subordinate) pci_pme_wakeup_bus(pci_dev->subordinate); } -- Matthew Garrett | mjg59@xxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html