rtc: set the alarm to the next expiring timer
authorAlexandre Belloni <alexandre.belloni@free-electrons.com>
Thu, 28 Sep 2017 11:53:27 +0000 (13:53 +0200)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 13 Feb 2018 18:32:08 +0000 (18:32 +0000)
commit69328181ccf2e19556425773881bf23de0b8d9be
treefe1c47fe670bf3cab99d61bf48f8b2f6807d3534
parentde888782c3de3f32b4cfa859b4829fc1ad856c5f
rtc: set the alarm to the next expiring timer

commit 74717b28cb32e1ad3c1042cafd76b264c8c0f68d upstream.

If there is any non expired timer in the queue, the RTC alarm is never set.
This is an issue when adding a timer that expires before the next non
expired timer.

Ensure the RTC alarm is set in that case.

Fixes: 2b2f5ff00f63 ("rtc: interface: ignore expired timers when enqueuing new timers")
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
[bwh: Backported to 3.2: open-code ktime_before()]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/rtc/interface.c