Messages in this thread Patch in this message | | | Date | Tue, 21 May 2013 20:43:50 +0200 | From | Bart Van Assche <> | Subject | [PATCH] timer: 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 is about to wrap.
Signed-off-by: Bart Van Assche <bvanassche@acm.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Arjan van de Ven <arjan@infradead.org> Cc: Stephen Rothwell <sfr@canb.auug.org.au> --- kernel/timer.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/kernel/timer.c b/kernel/timer.c index 15ffdb3..aa8b964 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; } /** -- 1.7.10.4
| |