diff options
author | Julius Werner <jwerner@chromium.org> | 2013-06-12 12:55:22 -0700 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-06-21 00:35:12 +0200 |
commit | bb177fedd348c92c2bea6adc9a2163ebff15272e (patch) | |
tree | 85a9ea53b0a15f56bbb0427adbdd85002b0a3265 /kernel/power | |
parent | d24c2a4f919d17bd1ae4f4010a38ab07ece99cf7 (diff) |
PM / Sleep: Print last wakeup source on failed wakeup_count write
Commit a938da06 introduced a useful little log message to tell
users/debuggers which wakeup source aborted a suspend. However,
this message is only printed if the abort happens during the
in-kernel suspend path (after writing /sys/power/state).
The full specification of the /sys/power/wakeup_count facility
allows user-space power managers to double-check if wakeups have
already happened before it actually tries to suspend (e.g. while it
was running user-space pre-suspend hooks), by writing the last known
wakeup_count value to /sys/power/wakeup_count. This patch changes
the sysfs handler for that node to also print said log message if
that write fails, so that we can figure out the offending wakeup
source for both kinds of suspend aborts.
Signed-off-by: Julius Werner <jwerner@chromium.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'kernel/power')
-rw-r--r-- | kernel/power/main.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/power/main.c b/kernel/power/main.c index d77663bfede..0828070d38b 100644 --- a/kernel/power/main.c +++ b/kernel/power/main.c @@ -424,6 +424,8 @@ static ssize_t wakeup_count_store(struct kobject *kobj, if (sscanf(buf, "%u", &val) == 1) { if (pm_save_wakeup_count(val)) error = n; + else + pm_print_active_wakeup_sources(); } out: |