Zoran Markovic
14d0e347ea
rtc: Keep system awake until all expired RTC timers are handled
...
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: Zoran Markovic <zoran.markovic@linaro.org >
Signed-off-by: John Stultz <john.stultz@linaro.org >
2013-07-22 09:38:25 -07:00
..
2013-07-03 16:08:00 -07:00
2012-10-06 03:05:04 +09:00
2013-07-22 09:38:25 -07:00
2013-07-03 16:08:01 -07:00
2013-07-03 16:08:01 -07:00
2013-07-03 16:07:46 -07:00
2013-07-03 16:07:48 -07:00
2013-07-03 16:07:54 -07:00
2013-07-03 16:07:59 -07:00
2013-07-03 16:07:49 -07:00
2013-07-03 16:07:49 -07:00
2013-04-05 09:36:53 -07:00
2013-07-03 16:07:49 -07:00
2013-07-03 16:07:54 -07:00
2013-07-03 16:07:49 -07:00
2013-07-03 16:07:55 -07:00
2013-07-03 16:07:54 -07:00
2013-07-03 16:08:00 -07:00
2013-07-03 16:07:55 -07:00
2007-05-08 11:15:18 -07:00
2013-07-03 16:07:59 -07:00
2013-07-03 16:07:54 -07:00
2013-07-03 16:07:50 -07:00
2013-02-21 17:22:29 -08:00
2013-07-03 16:07:53 -07:00
2013-07-03 16:08:00 -07:00
2013-07-03 16:07:56 -07:00
2013-07-03 16:07:59 -07:00
2013-07-03 16:07:46 -07:00
2013-07-03 16:07:54 -07:00
2013-07-03 16:07:46 -07:00
2013-07-03 16:07:56 -07:00
2013-07-03 16:07:47 -07:00
2013-04-29 18:28:25 -07:00
2013-07-03 16:07:56 -07:00
2013-04-29 18:28:25 -07:00
2013-04-29 18:28:37 -07:00
2013-04-29 18:28:36 -07:00
2013-07-03 16:07:56 -07:00
2013-07-03 16:07:56 -07:00
2013-07-03 16:07:56 -07:00
2013-07-03 16:07:50 -07:00
2013-07-03 16:07:56 -07:00
2013-07-03 16:07:57 -07:00
2013-07-03 16:07:54 -07:00
2013-04-29 18:28:25 -07:00
2013-02-05 20:38:49 +11:00
2013-07-03 16:07:59 -07:00
2013-07-03 16:07:55 -07:00
2011-08-26 17:26:35 -07:00
2013-07-03 16:07:53 -07:00
2013-07-03 16:07:50 -07:00
2013-07-03 16:07:53 -07:00
2013-07-03 16:07:47 -07:00
2013-07-03 16:07:56 -07:00
2013-07-03 16:07:57 -07:00
2013-07-03 16:07:59 -07:00
2013-07-03 16:07:55 -07:00
2013-07-03 16:07:53 -07:00
2013-07-03 16:07:57 -07:00
2013-07-03 16:07:57 -07:00
2013-07-03 16:07:57 -07:00
2013-07-03 16:07:53 -07:00
2013-07-03 16:07:57 -07:00
2013-07-10 11:10:27 -07:00
2013-07-03 16:07:57 -07:00
2013-07-03 16:07:51 -07:00
2013-07-03 16:07:59 -07:00
2013-01-03 15:57:02 -08:00
2013-07-03 16:07:53 -07:00
2013-04-29 18:28:26 -07:00
2013-07-03 16:07:51 -07:00
2013-07-03 16:07:53 -07:00
2013-07-03 16:08:00 -07:00
2013-07-03 16:08:00 -07:00
2013-07-03 16:07:51 -07:00
2013-07-03 16:08:00 -07:00
2013-07-03 16:08:00 -07:00
2013-07-03 16:07:57 -07:00
2013-07-03 16:07:59 -07:00
2013-07-03 16:07:59 -07:00
2013-04-29 18:28:38 -07:00
2012-03-23 17:36:29 -07:00
2013-05-24 16:22:52 -07:00
2013-07-03 16:07:55 -07:00
2013-04-09 14:13:32 -04:00
2013-07-03 16:07:58 -07:00
2013-07-03 16:07:52 -07:00
2013-07-03 16:07:55 -07:00
2013-04-29 18:28:34 -07:00
2013-07-03 16:07:55 -07:00
2013-07-03 16:07:52 -07:00
2013-07-03 16:07:58 -07:00
2013-07-03 16:07:58 -07:00
2013-05-07 18:38:26 -07:00
2013-07-03 16:07:58 -07:00
2013-07-03 16:07:58 -07:00
2013-07-03 16:07:55 -07:00
2013-07-03 16:07:58 -07:00
2013-07-03 16:07:51 -07:00
2013-04-19 13:51:25 +02:00
2013-04-29 18:28:38 -07:00
2013-07-03 16:07:51 -07:00
2013-07-03 16:07:55 -07:00
2013-07-03 16:08:01 -07:00
2013-07-03 16:07:58 -07:00
2013-07-03 16:07:52 -07:00
2013-07-03 16:07:58 -07:00
2013-04-29 18:28:27 -07:00
2013-07-09 10:33:25 -07:00
2013-07-03 16:07:58 -07:00
2013-07-03 16:07:54 -07:00
2013-05-18 11:57:07 +02:00
2013-04-29 18:28:31 -07:00
2013-07-03 16:07:53 -07:00
2013-06-12 16:29:45 -07:00
2013-04-29 18:28:33 -07:00
2013-07-03 16:07:58 -07:00
2013-07-03 16:08:00 -07:00
2013-04-29 18:28:27 -07:00
2013-07-03 16:07:48 -07:00
2013-07-03 16:07:54 -07:00
2013-07-03 16:07:52 -07:00
2013-07-03 16:07:59 -07:00
2013-04-29 18:28:32 -07:00
2013-07-03 16:07:48 -07:00
2013-01-15 18:16:06 -08:00