We have just checked that expires_next.tv64 == cpu_base->expires_next.tv64, and in this case we shouldn't rewrite the same value again. Rewrite code to fix this.
Signed-off-by: Viresh Kumar <viresh.ku...@linaro.org> --- kernel/hrtimer.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c index e5d81ee..32d1504 100644 --- a/kernel/hrtimer.c +++ b/kernel/hrtimer.c @@ -561,11 +561,11 @@ hrtimer_force_reprogram(struct hrtimer_cpu_base *cpu_base, int skip_equal) expires_next = expires; } - if (skip_equal && expires_next.tv64 == cpu_base->expires_next.tv64) + if (expires_next.tv64 != cpu_base->expires_next.tv64) + cpu_base->expires_next.tv64 = expires_next.tv64; + else if (skip_equal) return; - cpu_base->expires_next.tv64 = expires_next.tv64; - if (cpu_base->expires_next.tv64 != KTIME_MAX) tick_program_event(cpu_base->expires_next, 1); } -- 1.7.12.rc2.18.g61b472e -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/