diff options
Diffstat (limited to 'kernel/time/timekeeping.c')
| -rw-r--r-- | kernel/time/timekeeping.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index 73edd4074b50..b15c3acafd5a 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c | |||
| @@ -170,7 +170,8 @@ void timekeeping_leap_insert(int leapsecond) | |||
| 170 | { | 170 | { |
| 171 | xtime.tv_sec += leapsecond; | 171 | xtime.tv_sec += leapsecond; |
| 172 | wall_to_monotonic.tv_sec -= leapsecond; | 172 | wall_to_monotonic.tv_sec -= leapsecond; |
| 173 | update_vsyscall(&xtime, timekeeper.clock, timekeeper.mult); | 173 | update_vsyscall(&xtime, &wall_to_monotonic, timekeeper.clock, |
| 174 | timekeeper.mult); | ||
| 174 | } | 175 | } |
| 175 | 176 | ||
| 176 | /** | 177 | /** |
| @@ -326,7 +327,8 @@ int do_settimeofday(struct timespec *tv) | |||
| 326 | timekeeper.ntp_error = 0; | 327 | timekeeper.ntp_error = 0; |
| 327 | ntp_clear(); | 328 | ntp_clear(); |
| 328 | 329 | ||
| 329 | update_vsyscall(&xtime, timekeeper.clock, timekeeper.mult); | 330 | update_vsyscall(&xtime, &wall_to_monotonic, timekeeper.clock, |
| 331 | timekeeper.mult); | ||
| 330 | 332 | ||
| 331 | write_sequnlock_irqrestore(&xtime_lock, flags); | 333 | write_sequnlock_irqrestore(&xtime_lock, flags); |
| 332 | 334 | ||
| @@ -809,7 +811,8 @@ void update_wall_time(void) | |||
| 809 | } | 811 | } |
| 810 | 812 | ||
| 811 | /* check to see if there is a new clocksource to use */ | 813 | /* check to see if there is a new clocksource to use */ |
| 812 | update_vsyscall(&xtime, timekeeper.clock, timekeeper.mult); | 814 | update_vsyscall(&xtime, &wall_to_monotonic, timekeeper.clock, |
| 815 | timekeeper.mult); | ||
| 813 | } | 816 | } |
| 814 | 817 | ||
| 815 | /** | 818 | /** |
