diff options
| -rw-r--r-- | kernel/time/ntp.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c index 7447d57e021a..a3fe7ef2d83b 100644 --- a/kernel/time/ntp.c +++ b/kernel/time/ntp.c | |||
| @@ -71,7 +71,8 @@ static long time_reftime; | |||
| 71 | 71 | ||
| 72 | long time_adjust; | 72 | long time_adjust; |
| 73 | 73 | ||
| 74 | static long ntp_tick_adj; | 74 | /* constant (boot-param configurable) NTP tick adjustment (upscaled) */ |
| 75 | static s64 ntp_tick_adj; | ||
| 75 | 76 | ||
| 76 | /* | 77 | /* |
| 77 | * NTP methods: | 78 | * NTP methods: |
| @@ -89,7 +90,7 @@ static void ntp_update_frequency(void) | |||
| 89 | second_length = (u64)(tick_usec * NSEC_PER_USEC * USER_HZ) | 90 | second_length = (u64)(tick_usec * NSEC_PER_USEC * USER_HZ) |
| 90 | << NTP_SCALE_SHIFT; | 91 | << NTP_SCALE_SHIFT; |
| 91 | 92 | ||
| 92 | second_length += (s64)ntp_tick_adj << NTP_SCALE_SHIFT; | 93 | second_length += ntp_tick_adj; |
| 93 | second_length += time_freq; | 94 | second_length += time_freq; |
| 94 | 95 | ||
| 95 | tick_nsec = div_u64(second_length, HZ) >> NTP_SCALE_SHIFT; | 96 | tick_nsec = div_u64(second_length, HZ) >> NTP_SCALE_SHIFT; |
| @@ -540,6 +541,8 @@ int do_adjtimex(struct timex *txc) | |||
| 540 | static int __init ntp_tick_adj_setup(char *str) | 541 | static int __init ntp_tick_adj_setup(char *str) |
| 541 | { | 542 | { |
| 542 | ntp_tick_adj = simple_strtol(str, NULL, 0); | 543 | ntp_tick_adj = simple_strtol(str, NULL, 0); |
| 544 | ntp_tick_adj <<= NTP_SCALE_SHIFT; | ||
| 545 | |||
| 543 | return 1; | 546 | return 1; |
| 544 | } | 547 | } |
| 545 | 548 | ||
