]> Pileus Git - ~andy/linux/blobdiff - kernel/time/timekeeping.c
Merge branch 'linus' into timers/core
[~andy/linux] / kernel / time / timekeeping.c
index 1137f245a4ba6999b0c9bd667f7111461f75239d..caf8d4d4f5c873dffbbc124c62cff08d84a0eb0d 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 */