diff options
author | Ruchi Kandoi <kandoiruchi@google.com> | 2015-05-07 10:18:55 -0700 |
---|---|---|
committer | Ruchi Kandoi <kandoiruchi@google.com> | 2015-05-18 16:57:19 +0000 |
commit | 6e9c6582376ac3c430bf7c89647313b2e685a597 (patch) | |
tree | 3dca5c42f47dbe1df6ef43d629852381fd935ce3 /kernel | |
parent | ba6f1652e0c153aae45ff3c6259e1c91378b9cfe (diff) | |
download | edison-v3.10-6e9c6582376ac3c430bf7c89647313b2e685a597.tar.gz |
suspend: Return error when pending wakeup source is found.
If a wakeup source is found to be pending in the last stage of suspend
after syscore suspend then the device doesn't suspend but the error is
not propogated which causes an error in the accounting for the number
of suspend aborts and successful suspends.
Change-Id: Ib63b4ead755127eaf03e3b303aab3c782ad02ed1
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/power/suspend.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c index 7c53fea31cb..221037af99a 100644 --- a/kernel/power/suspend.c +++ b/kernel/power/suspend.c @@ -232,10 +232,11 @@ static int suspend_enter(suspend_state_t state, bool *wakeup) if (!(suspend_test(TEST_CORE) || *wakeup)) { error = suspend_ops->enter(state); events_check_enabled = false; - } else { + } else if (*wakeup) { pm_get_active_wakeup_sources(suspend_abort, MAX_SUSPEND_ABORT_LEN); log_suspend_abort_reason(suspend_abort); + error = -EBUSY; } syscore_resume(); } |