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 -- 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