From: Roman Zippel It's a silly sign problem. gcc turned the divide into an unsigned one. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton --- kernel/time/ntp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN kernel/time/ntp.c~ntp-add-ntp_update_frequency-fix kernel/time/ntp.c --- a/kernel/time/ntp.c~ntp-add-ntp_update_frequency-fix +++ a/kernel/time/ntp.c @@ -62,7 +62,7 @@ void ntp_clear(void) } #define CLOCK_TICK_OVERFLOW (LATCH * HZ - CLOCK_TICK_RATE) -#define CLOCK_TICK_ADJUST (((s64)CLOCK_TICK_OVERFLOW * NSEC_PER_SEC) / CLOCK_TICK_RATE) +#define CLOCK_TICK_ADJUST (((s64)CLOCK_TICK_OVERFLOW * NSEC_PER_SEC) / (s64)CLOCK_TICK_RATE) void ntp_update_frequency(void) { _