Messages in this thread | | | Date | Thu, 18 Jul 2013 13:03:37 -0700 | From | John Stultz <> | Subject | Re: [RFC PATCH] rtc: keep system awake until all expired RTC timers are handled |
| |
On 06/26/2013 04:09 PM, Zoran Markovic wrote: > 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>
Haven't seen any objections here, so I'll queue this for 3.12.
thanks -john
| |