Merge branch 'linus' into timers/core
[linux-2.6.git] / kernel / time / timekeeping.c
index 1137f24..caf8d4d 100644 (file)
@@ -806,7 +806,8 @@ void update_wall_time(void)
        shift = min(shift, maxshift);
        while (offset >= timekeeper.cycle_interval) {
                offset = logarithmic_accumulation(offset, shift);
-               shift--;
+               if(offset < timekeeper.cycle_interval<<shift)
+                       shift--;
        }
 
        /* correct the clock when NTP error is too big */