summaryrefslogtreecommitdiff
path: root/common/mkbp_event.c
diff options
context:
space:
mode:
authorKoro Chen <koro.chen@mediatek.com>2016-03-07 17:48:47 +0800
committerchrome-bot <chrome-bot@chromium.org>2016-03-10 06:03:08 -0800
commitfe996b200c36e5ce6134250ef60e0e6b30b9183b (patch)
treec0789f8e071b14220d3322cc5cf27883a157c714 /common/mkbp_event.c
parent6c116f0ffcc2274accd94d7608a685d993f4ef08 (diff)
downloadchrome-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.c4
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);
/*