diff options
author | Alec Berg <alecaberg@chromium.org> | 2013-10-29 09:28:10 -0700 |
---|---|---|
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | 2013-10-29 19:14:55 +0000 |
commit | 7e78087a91ff5c00a695ee769edd20fb62c04bc9 (patch) | |
tree | 751428d05c9de2a04fecb4f52fa5df6ff365a713 | |
parent | fea89f9cd9257ccddb5756d619568d492a8efd4a (diff) | |
download | chrome-ec-7e78087a91ff5c00a695ee769edd20fb62c04bc9.tar.gz |
lm4: Fixes low power bug after a sysjump
This fixes a bug in which after a sysjump, the sleep_mask is
reset, and the EC is allowed to go into a low power mode even
though the AP is still running. This causes numerous problems,
must notable of which is that a flashrom write fails with an
EC protocol mismatch error.
BUG=chrome-os-partner:23645
BRANCH=none
TEST=Execute a flashrom write and make sure the system does not
use the low power code immediately after.
Change-Id: I4d50282da0c5ba5b6488ed14a267a4d8cafe09a7
Signed-off-by: Alec Berg <alecaberg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/174943
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
-rw-r--r-- | power/haswell.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/power/haswell.c b/power/haswell.c index 95823ae418..4bc83c5ff6 100644 --- a/power/haswell.c +++ b/power/haswell.c @@ -129,6 +129,8 @@ enum x86_state x86_chipset_init(void) */ if (system_jumped_to_this_image()) { if ((x86_get_signals() & IN_ALL_S0) == IN_ALL_S0) { + /* Disable idle task deep sleep when in S0. */ + disable_sleep(SLEEP_MASK_AP_RUN); CPRINTF("[%T x86 already in S0]\n"); return X86_S0; } else { |