From 7f4e510ecfb18176c71a0de41d6152018532d7bd Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Wed, 19 Jun 2013 10:05:33 +1000 Subject: [PATCH] kernel/timer.c: fix jiffies wrap behavior of round_jiffies*() Make sure that the round_jiffies*() functions return a time that is in the future when the jiffies counter has recently wrapped. Signed-off-by: Bart Van Assche Cc: Thomas Gleixner Cc: Arjan van de Ven Cc: Stephen Rothwell Signed-off-by: Andrew Morton --- kernel/timer.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/kernel/timer.c b/kernel/timer.c index 15ffdb3f1948..aa8b9642118b 100644 --- a/kernel/timer.c +++ b/kernel/timer.c @@ -149,9 +149,7 @@ static unsigned long round_jiffies_common(unsigned long j, int cpu, /* now that we have rounded, subtract the extra skew again */ j -= cpu * 3; - if (j <= jiffies) /* rounding ate our timeout entirely; */ - return original; - return j; + return time_is_after_jiffies(j) ? j : original; } /** -- 2.39.5