[lkml]   [2012]   [Feb]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH 3/3] PM / Sleep: Make __pm_stay_awake() delete wakeup source timers
    On Thursday, February 16, 2012, Arve Hjønnevåg wrote:
    > 2012/2/15 Rafael J. Wysocki <>:
    > > From: Rafael J. Wysocki <>
    > >
    > > If __pm_stay_awake() is called after __pm_wakeup_event() for the same
    > > wakep source object before its timer expires, it won't cancel the
    > > timer, so the wakeup source will be deactivated from the timer
    > > function as scheduled by __pm_wakeup_event(). In that case
    > > __pm_stay_awake() doesn't have any effect beyond incrementing
    > > the wakeup source's event_count field, although it should cancel
    > > the timer and make the wakeup source stay active until __pm_relax()
    > > is called for it.
    > >
    > > Conversely, if __pm_wakeup_event() is called for a wakeup source
    > > that has been activated by __pm_stay_awake() before, it will set up
    > > the timer to deactivate the wakeup source, although it should leave
    > > it active until __pm_relax() is called for it.
    > We have many drivers that call wake_lock_timeout instead of
    > wake_unlock to cancel a previous wake_lock call. These drivers will
    > need to use two wakeup sources if __pm_wakeup_event does not always
    > set the timeout. I think it is better to have the state of the wakeup
    > source only depend on the last function you called, instead of that
    > last function being a noop in some cases.


    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2012-02-16 23:07    [W:2.144 / U:9.008 seconds]
    ©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site