]> www.infradead.org Git - users/jedix/linux-maple.git/commit
PM / Runtime: Automatically retry failed autosuspends
authorAlan Stern <stern@rowland.harvard.edu>
Thu, 3 Nov 2011 22:39:18 +0000 (23:39 +0100)
committerMaxim Uvarov <maxim.uvarov@oracle.com>
Thu, 8 Dec 2011 19:18:11 +0000 (11:18 -0800)
commit47e83a41745fe6e2da8c85b04630a8f8eada6ccf
tree4df33fbdf6b71cc0b9bb67a22e1b89f73af01c75
parenta09ee0de6b72f9e0c2215a2ab8042775745d9382
PM / Runtime: Automatically retry failed autosuspends

commit 886486b792e4f6f96d4fbe8ec5bf20811cab7d6a upstream.

Originally, the runtime PM core would send an idle notification
whenever a suspend attempt failed.  The idle callback routine could
then schedule a delayed suspend for some time later.

However this behavior was changed by commit
f71648d73c1650b8b4aceb3856bebbde6daa3b86 (PM / Runtime: Remove idle
notification after failing suspend).  No notifications were sent, and
there was no clear mechanism to retry failed suspends.

This caused problems for the usbhid driver, because it fails
autosuspend attempts as long as a key is being held down.  Therefore
this patch (as1492) adds a mechanism for retrying failed
autosuspends.  If the callback routine updates the last_busy field so
that the next autosuspend expiration time is in the future, the
autosuspend will automatically be rescheduled.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Tested-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Documentation/power/runtime_pm.txt
drivers/base/power/runtime.c