pm: System date and time set incorrectly after suspend/resume to disk
From: Shuah Khan
Date: Mon Jun 17 2013 - 21:31:30 EST
I am seeing a problem on my system after a suspend to disk in reboot or
shutdown mode. When pm_trace is 0 (which is the default), I can't
reproduce the problem easily. I have to run a few more suspend tests
before I see the problem. When pm_trace is disabled, the problem showed
up when I ran suspend in platform mode in a row. However when pm_ptrace
is enabled, problem happens on the very first spend to disk in reboot mode.
Steps to run into the issue:
echo 1 > pm_print_times
echo 1 > pm_trace
echo reboot > disk
echo disk > state
or
echo 1 > pm_print_times
echo 1 > pm_trace
echo shutdown > disk
echo disk > state
When system comes back up, system time set to incorrect time.
In this latest round of testing:
time before suspend was Mon Jun 17 16:27 MDT 2013
right after resume was Thu Oct 5 18:24:42 MDT 2028
I have NTP enabled on my system and I have to disable/re-enable NTP from
Time and Date config menu.
rtc class suspend routine rtc_suspend() does adjustments to account for
the time spent suspended. Is that the right one run in this case?
rtc_suspend() doesn't run because has_persistent_clock() returns true.
rtc-cmos pnp driver suspend routines runs.
It is a possible race condition that is triggered when the conditions
are right.
I have the following enabled in my config
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
Looking for tips on debugging the problem.
thanks,
-- Shuah
Shuah Khan, Linux Kernel Developer - Open Source Group Samsung Research
America (Silicon Valley) shuah.kh@xxxxxxxxxxx | (970) 672-0658
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/