]> Pileus Git - ~andy/linux/blobdiff - kernel/time/timekeeping.c
Merge branch 'timers/posix-cpu-timers-for-tglx' of
[~andy/linux] / kernel / time / timekeeping.c
index 846d0a1f235e2ccf21e99a9170c97e26865cc439..48b9fffabdc294a4bea16b9b78083a161e8eec42 100644 (file)
@@ -991,6 +991,14 @@ static int timekeeping_suspend(void)
 
        read_persistent_clock(&timekeeping_suspend_time);
 
+       /*
+        * On some systems the persistent_clock can not be detected at
+        * timekeeping_init by its return value, so if we see a valid
+        * value returned, update the persistent_clock_exists flag.
+        */
+       if (timekeeping_suspend_time.tv_sec || timekeeping_suspend_time.tv_nsec)
+               persistent_clock_exist = true;
+
        raw_spin_lock_irqsave(&timekeeper_lock, flags);
        write_seqcount_begin(&timekeeper_seq);
        timekeeping_forward_now(tk);