1. 23 7月, 2013 1 次提交
    • Z
      rtc: Keep system awake until all expired RTC timers are handled · 14d0e347
      Zoran Markovic 提交于
      Current implementation of RTC interface allows for system suspend to
      occur in the following cases:
      (a) if a timer is set in the past and rtc_timer_do_work() is scheduled
      to handle it, and
      (b) if rtc_timer_do_work() is called to handle expired timers whose
      handlers implement a preemption point.
      
      A pending suspend request may be honoured in the above cases causing
      timer handling to be delayed until after the next resume. This is
      undesirable since timer handlers may have time-critical code to execute.
      
      This patch makes sure that the system stays awake until all expired
      timers are handled.
      
      Note that all calls to pm_stay_awake() are eventually paired with
      the single pm_relax() call in rtc_timer_do_work(), which is launched
      using schedule_work().
      
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: Arve Hjonnevag <arve@android.com>
      Cc: Todd Poynor <toddpoynor@google.com>
      Signed-off-by: NZoran Markovic <zoran.markovic@linaro.org>
      Signed-off-by: NJohn Stultz <john.stultz@linaro.org>
      14d0e347
  2. 10 7月, 2013 1 次提交
  3. 04 7月, 2013 38 次提交