diff options
| -rw-r--r-- | kernel/time/timekeeping.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index 98cd470bbe49..baeeb5c87cf1 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c | |||
| @@ -975,6 +975,14 @@ static int timekeeping_suspend(void) | |||
| 975 | 975 | ||
| 976 | read_persistent_clock(&timekeeping_suspend_time); | 976 | read_persistent_clock(&timekeeping_suspend_time); |
| 977 | 977 | ||
| 978 | /* | ||
| 979 | * On some systems the persistent_clock can not be detected at | ||
| 980 | * timekeeping_init by its return value, so if we see a valid | ||
| 981 | * value returned, update the persistent_clock_exists flag. | ||
| 982 | */ | ||
| 983 | if (timekeeping_suspend_time.tv_sec || timekeeping_suspend_time.tv_nsec) | ||
| 984 | persistent_clock_exist = true; | ||
| 985 | |||
| 978 | raw_spin_lock_irqsave(&timekeeper_lock, flags); | 986 | raw_spin_lock_irqsave(&timekeeper_lock, flags); |
| 979 | write_seqcount_begin(&timekeeper_seq); | 987 | write_seqcount_begin(&timekeeper_seq); |
| 980 | timekeeping_forward_now(tk); | 988 | timekeeping_forward_now(tk); |
