• Alan Stern's avatar
    PM / Runtime: Automatically retry failed autosuspends · 886486b7
    Alan Stern authored
    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
    f71648d7 (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: default avatarAlan Stern <stern@rowland.harvard.edu>
    Tested-by: default avatarHenrik Rydberg <rydberg@euromail.se>
    Cc: <stable@kernel.org>
    Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
    886486b7
runtime.c 35.4 KB