On Sun, Nov 29, 2009 at 04:42:20PM +0100, Rafael J. Wysocki wrote: > + if (event == ACPI_NOTIFY_DEVICE_WAKE) { > + if (nb->dev->wakeup.run_wake_count > 0) { > + if (nb->pci_bus) > + pci_pme_wakeup_bus(nb->pci_bus); > + if (nb->pci_dev) > + pci_pme_wakeup(nb->pci_dev); We may receive wakeup events on devices that aren't PME capable, which is the case for uhci on my test box. In that case we probably want to wake them up unconditionally. + if (nb->pci_dev) { + if (nb->pci_dev->pm_cap) + pci_pme_wakeup(nb->pci_dev); + else + pm_request_resume(&nb->pci_dev->dev); seems to work, though possibly we should assume that the firmware knows best and always schedule a wake in respose to a resume request? -- Matthew Garrett | mjg59@xxxxxxxxxxxxx _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm