]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - kernel/timer.c
timer: Fix jiffies wrap behavior of round_jiffies_common()
[karo-tx-linux.git] / kernel / timer.c
index 15ffdb3f1948b9468c2c04527beb8190b0d79d45..15bc1b41021dae203b7d3c43293b5edd54cff4cb 100644 (file)
@@ -149,9 +149,11 @@ 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;
+       /*
+        * Make sure j is still in the future. Otherwise return the
+        * unmodified value.
+        */
+       return time_is_after_jiffies(j) ? j : original;
 }
 
 /**