summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernel/timer.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/timer.c b/kernel/timer.c
index dd93d90f026e..7e0a770be489 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -145,9 +145,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;
}
/**