aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/time/ntp.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/time/ntp.c')
-rw-r--r--kernel/time/ntp.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
index a3fe7ef2d83b..c74eb7d9d854 100644
--- a/kernel/time/ntp.c
+++ b/kernel/time/ntp.c
@@ -236,7 +236,7 @@ static enum hrtimer_restart ntp_leap_second(struct hrtimer *timer)
236 */ 236 */
237void second_overflow(void) 237void second_overflow(void)
238{ 238{
239 s64 time_adj; 239 s64 delta;
240 240
241 /* Bump the maxerror field */ 241 /* Bump the maxerror field */
242 time_maxerror += MAXFREQ / NSEC_PER_USEC; 242 time_maxerror += MAXFREQ / NSEC_PER_USEC;
@@ -249,10 +249,11 @@ void second_overflow(void)
249 * Compute the phase adjustment for the next second. The offset is 249 * Compute the phase adjustment for the next second. The offset is
250 * reduced by a fixed factor times the time constant. 250 * reduced by a fixed factor times the time constant.
251 */ 251 */
252 tick_length = tick_length_base; 252 tick_length = tick_length_base;
253 time_adj = shift_right(time_offset, SHIFT_PLL + time_constant); 253
254 time_offset -= time_adj; 254 delta = shift_right(time_offset, SHIFT_PLL + time_constant);
255 tick_length += time_adj; 255 time_offset -= delta;
256 tick_length += delta;
256 257
257 if (!time_adjust) 258 if (!time_adjust)
258 return; 259 return;