aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorYang Honggang (Joseph) <eagle.rtlinux@gmail.com>2011-12-01 22:22:41 -0500
committerJohn Stultz <john.stultz@linaro.org>2011-12-01 18:50:00 -0500
commitb1f919664d04a8d0ba29cb76673c7ca3325a2006 (patch)
treeeeaafc566a9023a794eaefcda8a5201ba7ffa9bc /kernel
parent6a8943d9ec2567572fca25cf69ad45844d0141a3 (diff)
clocksource: Fix bug with max_deferment margin calculation
In order to leave a margin of 12.5% we should >> 3 not >> 5. CC: stable@kernel.org Signed-off-by: Yang Honggang (Joseph) <eagle.rtlinux@gmail.com> [jstultz: Modified commit subject] Signed-off-by: John Stultz <john.stultz@linaro.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/time/clocksource.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index cfc65e1eb9fb..da2f760e780c 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -548,7 +548,7 @@ static u64 clocksource_max_deferment(struct clocksource *cs)
548 * note a margin of 12.5% is used because this can be computed with 548 * note a margin of 12.5% is used because this can be computed with
549 * a shift, versus say 10% which would require division. 549 * a shift, versus say 10% which would require division.
550 */ 550 */
551 return max_nsecs - (max_nsecs >> 5); 551 return max_nsecs - (max_nsecs >> 3);
552} 552}
553 553
554#ifndef CONFIG_ARCH_USES_GETTIMEOFFSET 554#ifndef CONFIG_ARCH_USES_GETTIMEOFFSET
@@ -669,7 +669,7 @@ void __clocksource_updatefreq_scale(struct clocksource *cs, u32 scale, u32 freq)
669 * ~ 0.06ppm granularity for NTP. We apply the same 12.5% 669 * ~ 0.06ppm granularity for NTP. We apply the same 12.5%
670 * margin as we do in clocksource_max_deferment() 670 * margin as we do in clocksource_max_deferment()
671 */ 671 */
672 sec = (cs->mask - (cs->mask >> 5)); 672 sec = (cs->mask - (cs->mask >> 3));
673 do_div(sec, freq); 673 do_div(sec, freq);
674 do_div(sec, scale); 674 do_div(sec, scale);
675 if (!sec) 675 if (!sec)