diff options
Diffstat (limited to 'kernel/time.c')
| -rw-r--r-- | kernel/time.c | 11 | 
1 files changed, 6 insertions, 5 deletions
diff --git a/kernel/time.c b/kernel/time.c index f8342a41efa..d3617dbd3dc 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); +	}  }  /*  |