[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20160604132747.GI4594@piout.net>
Date: Sat, 4 Jun 2016 15:27:47 +0200
From: Alexandre Belloni <alexandre.belloni@...e-electrons.com>
To: Colin King <colin.king@...onical.com>
Cc: Alessandro Zummo <a.zummo@...ertech.it>,
rtc-linux@...glegroups.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] rtc: interface: ignore exprired timers one enqueing new
timers
On 16/05/2016 at 17:22:54 +0100, Colin King wrote :
> From: Colin Ian King <colin.king@...onical.com>
>
> This patch fixes a RTC wakealarm issue, namely, the event fires during
> hibernate and is not cleared from the list, causing hwclock to block.
>
> The current enqueuing does not trigger an alarm if any expired timers
> already exist on the timerqueue. This can occur when a RTC wake alarm
> is used to wake a machine out of hibernate and the resumed state has
> old expired timers that have not been removed from the timer queue.
> This fix skips over any expired timers and triggers an alarm if there
> are no pending timers on the timerqueue. Note that the skipped expired
> timer will get repead later on, so there is no need to clean it up
> immediately.
>
> The issue can be reproduced by putting a machine into hibernate and
> waking it with the RTC wakealarm. Running the example RTC test program
> from tools/testing/selftests/timers/rtctest.c after the hibernate will
> block indefinitely. With the fix, it no longer blocks after the
> hibernate resume.
>
> BugLink: http://bugs.launchpad.net/bugs/1333569
>
> Signed-off-by: Colin Ian King <colin.king@...onical.com>
> ---
> drivers/rtc/interface.c | 16 +++++++++++++++-
> 1 file changed, 15 insertions(+), 1 deletion(-)
>
Applied, thanks.
--
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
Powered by blists - more mailing lists