X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=kernel%2Ftime.c;h=d3617dbd3dca6b3844e0814e889026f01af0ddd4;hb=e30f4192456971623b40c97a027346b69457ef69;hp=f8342a41efa60de3badbcbd2f48fa1950d0d7f99;hpb=69df2ac1288b456a95aceadafbf88cd891a577c8;p=deliverable%2Flinux.git diff --git a/kernel/time.c b/kernel/time.c index f8342a41efa6..d3617dbd3dca 100644 --- a/kernel/time.c +++ b/kernel/time.c @@ -138,13 +138,14 @@ int persistent_clock_is_local; */ static inline void warp_clock(void) { - struct timespec adjust; + if (sys_tz.tz_minuteswest != 0) { + struct timespec adjust; - adjust = current_kernel_time(); - if (sys_tz.tz_minuteswest != 0) persistent_clock_is_local = 1; - adjust.tv_sec += sys_tz.tz_minuteswest * 60; - do_settimeofday(&adjust); + adjust.tv_sec = sys_tz.tz_minuteswest * 60; + adjust.tv_nsec = 0; + timekeeping_inject_offset(&adjust); + } } /*