diff options
author | Koro Chen <koro.chen@mediatek.com> | 2016-03-07 17:48:47 +0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-03-10 06:03:08 -0800 |
commit | fe996b200c36e5ce6134250ef60e0e6b30b9183b (patch) | |
tree | c0789f8e071b14220d3322cc5cf27883a157c714 /common/mkbp_event.c | |
parent | 6c116f0ffcc2274accd94d7608a685d993f4ef08 (diff) | |
download | chrome-ec-fe996b200c36e5ce6134250ef60e0e6b30b9183b.tar.gz |
mkbp_event: prevent unnecessary interrupts to AP
After commit 237406c5b12ed9934fc6eab7d24f30ba6e70fdce, there is chance
that pd_power_supply_reset() will be called during S0->S3, and it
interrupts AP and fails suspend if we are using MKBP_EVENT.
This is because mkbp_send_event() does not check power state POWER_S0S3.
Modify the condition to check events when AP is not in S0.
BRANCH=none
BUG=chrome-os-partner:50833
TEST=powerd_dbus_suspend always works without being resumed
Change-Id: Id905a2cd4d2a0376bca163f40c68bcf4208d8bf5
Signed-off-by: Koro Chen <koro.chen@mediatek.com>
Reviewed-on: https://chromium-review.googlesource.com/331160
Commit-Ready: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Milton Chiang <milton.chiang@mediatek.com>
Reviewed-by: Wei-Ning Huang <wnhuang@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Diffstat (limited to 'common/mkbp_event.c')
-rw-r--r-- | common/mkbp_event.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/common/mkbp_event.c b/common/mkbp_event.c index b039afa631..95bb4fd3f5 100644 --- a/common/mkbp_event.c +++ b/common/mkbp_event.c @@ -44,8 +44,8 @@ void mkbp_send_event(uint8_t event_type) set_event(event_type); #ifdef CONFIG_MKBP_WAKEUP_MASK - /* checking the event if AP suspended */ - if (chipset_in_state(CHIPSET_STATE_SUSPEND)) { + /* checking the event if AP is not in S0 */ + if (!chipset_in_state(CHIPSET_STATE_ON)) { uint32_t events; events = *(uint32_t *)host_get_memmap(EC_MEMMAP_HOST_EVENTS); /* |