On Friday 04 September 2009, Rafael J. Wysocki wrote: > From: Rafael J. Wysocki <rjw@xxxxxxx> > > Some PCI devices (not PCI Express), like PCI add-on cards, can > generate PME#, but they don't have any special platform wake-up > support. For this reason, even if they generate PME# to wake up the > system from a sleep state, wake-up events are not generated by the > platform. > > It turns out that, at least on some systems, PCI bridges and the PCI > host bridge have ACPI GPEs associated with them that, if enabled to > generate wake-up events, allow the system to wake up if one of the > add-on devices asserts PME# while the system is in a sleep state. > Following this observation, if a PCI device without direct ACPI > wake-up support is prepared to wake up the system during a transition > into a sleep state (eg. suspend to RAM), configure all the bridges on > the path from the device to the root bridge (including the root > bridge itself) to wake-up the system. I thought it would be better to split this patch into two patches, one replacing the wakeup.prepared flag with a reference counter and the other reworking the PCI ACPI wakeup routine. I the second patch I followed the Yakui's suggestion to propagate wake-up enable until we find the first device with ACPI support for wake-up. The patches will follow in replies to this message. Thanks, Rafael -- 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