diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2011-01-31 05:07:01 -0500 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2011-03-14 19:43:14 -0400 |
commit | 790c7885a4b2105e41f7a80b035fdb78e406154f (patch) | |
tree | dd0e725335ffe47ebd940f04cbd44db88a39759d /drivers/base/power/wakeup.c | |
parent | 378eef99ad45700aabfba2bd962516e5608b259a (diff) |
PM / Wakeup: Don't update events_check_enabled in pm_get_wakeup_count()
Since pm_save_wakeup_count() has just been changed to clear
events_check_enabled unconditionally before checking if there are
any new wakeup events registered since the last read from
/sys/power/wakeup_count, the detection of wakeup events during
suspend may be disabled, after it's been enabled, by writing a
"wrong" value back to /sys/power/wakeup_count. For this reason,
it is not necessary to update events_check_enabled in
pm_get_wakeup_count() any more.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'drivers/base/power/wakeup.c')
-rw-r--r-- | drivers/base/power/wakeup.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/base/power/wakeup.c b/drivers/base/power/wakeup.c index 07e08c3aece4..82836383997f 100644 --- a/drivers/base/power/wakeup.c +++ b/drivers/base/power/wakeup.c | |||
@@ -586,17 +586,14 @@ bool pm_wakeup_pending(void) | |||
586 | * Store the number of registered wakeup events at the address in @count. Block | 586 | * Store the number of registered wakeup events at the address in @count. Block |
587 | * if the current number of wakeup events being processed is nonzero. | 587 | * if the current number of wakeup events being processed is nonzero. |
588 | * | 588 | * |
589 | * Return false if the wait for the number of wakeup events being processed to | 589 | * Return 'false' if the wait for the number of wakeup events being processed to |
590 | * drop down to zero has been interrupted by a signal (and the current number | 590 | * drop down to zero has been interrupted by a signal (and the current number |
591 | * of wakeup events being processed is still nonzero). Otherwise return true. | 591 | * of wakeup events being processed is still nonzero). Otherwise return 'true'. |
592 | */ | 592 | */ |
593 | bool pm_get_wakeup_count(unsigned int *count) | 593 | bool pm_get_wakeup_count(unsigned int *count) |
594 | { | 594 | { |
595 | unsigned int cnt, inpr; | 595 | unsigned int cnt, inpr; |
596 | 596 | ||
597 | if (capable(CAP_SYS_ADMIN)) | ||
598 | events_check_enabled = false; | ||
599 | |||
600 | for (;;) { | 597 | for (;;) { |
601 | split_counters(&cnt, &inpr); | 598 | split_counters(&cnt, &inpr); |
602 | if (inpr == 0 || signal_pending(current)) | 599 | if (inpr == 0 || signal_pending(current)) |