diff options
author | Shuah Khan <shuah.kh@samsung.com> | 2013-06-26 16:27:35 -0600 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-06-27 22:14:46 +0200 |
commit | 9dceefe483d7640ba0bbf3e53d1db880e7469aba (patch) | |
tree | eab1027aa00fd0dae67a01314f1789dce7fa57c7 /kernel/power | |
parent | f5ce1572109049b90484e2bb44927cb6034c5eb1 (diff) | |
download | op-kernel-dev-9dceefe483d7640ba0bbf3e53d1db880e7469aba.zip op-kernel-dev-9dceefe483d7640ba0bbf3e53d1db880e7469aba.tar.gz |
PM / Sleep: Warn about system time after resume with pm_trace
pm_trace uses the system's Real Time Clock (RTC) to save the magic
number. The reason for this is that the RTC is the only reliably
available piece of hardware during resume operations where a value
can be set that will survive a reboot.
Consequence is that after a resume (even if it is successful) your
system clock will have a value corresponding to the magic number
instead of the correct date/time! It is therefore advisable to use
a program like ntp-date or rdate to reset the correct date/time from
an external time source when using this trace option.
There is no run-time message to warn users of the consequences of
enabling pm_trace. Adding a warning message to pm_trace_store()
will serve as a reminder to users to set the system date and time
after resume.
Signed-off-by: Shuah Khan <shuah.kh@samsung.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'kernel/power')
-rw-r--r-- | kernel/power/main.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/power/main.c b/kernel/power/main.c index 0828070..1d1bf63 100644 --- a/kernel/power/main.c +++ b/kernel/power/main.c @@ -530,6 +530,10 @@ pm_trace_store(struct kobject *kobj, struct kobj_attribute *attr, if (sscanf(buf, "%d", &val) == 1) { pm_trace_enabled = !!val; + if (pm_trace_enabled) { + pr_warn("PM: Enabling pm_trace changes system date and time during resume.\n" + "PM: Correct system time has to be restored manually after resume.\n"); + } return n; } return -EINVAL; |