Commit c9c024b3 authored by Thomas Gleixner's avatar Thomas Gleixner

alarmtimers: Fix time comparison

The expiry function compares the timer against current time and does
not expire the timer when the expiry time is >= now. That's wrong. If
the timer is set for now, then it must expire.

Make the condition expiry > now for breaking out the loop.
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Acked-by: default avatarJohn Stultz <john.stultz@linaro.org>
Cc: stable@kernel.org
parent d68fb11c
...@@ -195,7 +195,7 @@ static enum hrtimer_restart alarmtimer_fired(struct hrtimer *timer) ...@@ -195,7 +195,7 @@ static enum hrtimer_restart alarmtimer_fired(struct hrtimer *timer)
struct alarm *alarm; struct alarm *alarm;
ktime_t expired = next->expires; ktime_t expired = next->expires;
if (expired.tv64 >= now.tv64) if (expired.tv64 > now.tv64)
break; break;
alarm = container_of(next, struct alarm, node); alarm = container_of(next, struct alarm, node);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment