diff options
Diffstat (limited to 'kernel/time')
| -rw-r--r-- | kernel/time/timekeeping.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index a3fa587c350c..2d6087c7cf98 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c | |||
| @@ -178,6 +178,7 @@ static void change_clocksource(void) | |||
| 178 | if (clock == new) | 178 | if (clock == new) |
| 179 | return; | 179 | return; |
| 180 | 180 | ||
| 181 | new->cycle_last = 0; | ||
| 181 | now = clocksource_read(new); | 182 | now = clocksource_read(new); |
| 182 | nsec = __get_nsec_offset(); | 183 | nsec = __get_nsec_offset(); |
| 183 | timespec_add_ns(&xtime, nsec); | 184 | timespec_add_ns(&xtime, nsec); |
| @@ -295,6 +296,7 @@ static int timekeeping_resume(struct sys_device *dev) | |||
| 295 | timespec_add_ns(&xtime, timekeeping_suspend_nsecs); | 296 | timespec_add_ns(&xtime, timekeeping_suspend_nsecs); |
| 296 | update_xtime_cache(0); | 297 | update_xtime_cache(0); |
| 297 | /* re-base the last cycle value */ | 298 | /* re-base the last cycle value */ |
| 299 | clock->cycle_last = 0; | ||
| 298 | clock->cycle_last = clocksource_read(clock); | 300 | clock->cycle_last = clocksource_read(clock); |
| 299 | clock->error = 0; | 301 | clock->error = 0; |
| 300 | timekeeping_suspended = 0; | 302 | timekeeping_suspended = 0; |
