On Thu, Jan 15, 2009 at 7:08 AM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > What do you mean by "prevents a full system suspend"? Does it mean > that attempts to suspend the system will fail? Or will they just > block until all these locks are released? When you release the last wakelock, the wakelock code will attempt to suspend. Holding a wakelock prevents this, and it also will abort suspend for you if the system is in the middle of suspending drivers. > Is there in fact any reason to add a new way for drivers to prevent a > full system suspend? They can already cause a suspend to fail by > returning an error from their suspend method, or cause a suspend to > block by sleeping in their suspend method. Returning an error would from suspend works to some degree, but it provides no indication of when to retry the suspend operation. Also each suspend attempt will freeze and thaw every process in the system so it is not a good way to ensure that userspace code gets to run. Sleeping in the suspend method will also prevent a wakeup so it is only usable for short delays. Wakelocks can be held for hours if needed. -- Arve Hjønnevåg _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm