diff options
author | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2016-02-16 13:18:55 +0100 |
---|---|---|
committer | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2016-02-16 13:18:55 +0100 |
commit | 844bdd6097f60d393ecd060c4e376bc15dcd194e (patch) | |
tree | 9c7ff1343208574e021a6bcf08730f99db87fc47 /kernel/timer.c | |
parent | 4c52bc8a2ff3c0373d371995eaef34df98e1fa4c (diff) | |
parent | b1ce5b792e0c6bddb9012dbbff63cfcc3a4aaf87 (diff) | |
download | kernel_samsung_smdk4412-844bdd6097f60d393ecd060c4e376bc15dcd194e.zip kernel_samsung_smdk4412-844bdd6097f60d393ecd060c4e376bc15dcd194e.tar.gz kernel_samsung_smdk4412-844bdd6097f60d393ecd060c4e376bc15dcd194e.tar.bz2 |
Merge remote-tracking branch 'cyanogen/cm-13.0' into replicant-6.0-new
Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
Conflicts:
Makefile
firmware/Makefile
firmware/epen/W9001_B713.bin.ihex
firmware/epen/W9001_B746.bin.ihex
firmware/epen/W9001_B746JD.bin.ihex
firmware/epen/W9001_B746L.bin.ihex
firmware/epen/W9001_B746S.bin.ihex
Diffstat (limited to 'kernel/timer.c')
-rw-r--r-- | kernel/timer.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/kernel/timer.c b/kernel/timer.c index 27982d9..5eac0d8 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; } /** @@ -1630,12 +1632,12 @@ static int __cpuinit init_timers_cpu(int cpu) boot_done = 1; base = &boot_tvec_bases; } + spin_lock_init(&base->lock); tvec_base_done[cpu] = 1; } else { base = per_cpu(tvec_bases, cpu); } - spin_lock_init(&base->lock); for (j = 0; j < TVN_SIZE; j++) { INIT_LIST_HEAD(base->tv5.vec + j); |