From f7d5360449aa3eead464c37d3ded19f582e6291e Mon Sep 17 00:00:00 2001 From: Shawn Nematbakhsh Date: Tue, 1 Nov 2016 17:37:50 -0700 Subject: [PATCH] mkbp_event: Don't use memmap'd host event mask Previously the memmap'd host event mask copy wasn't always updated. Be consistent with other mkbp code and call host_get_event() to get our current mask. BUG=chrome-os-partner:59241 BRANCH=gru TEST=Manual on kevin, close lid to suspend, press volume keys, verify device doesn't wake. Open lid, verify device wakes. Run 'powerd_dbus_suspend', press volume keys, verify device doesn't wake. Press keyboard key, verify device wakes. Change-Id: I3de49efa1ebc53a9c56bed57007c48356c7e97bb Signed-off-by: Shawn Nematbakhsh Reviewed-on: https://chromium-review.googlesource.com/406547 Reviewed-by: Douglas Anderson Reviewed-by: Aseda Aboagye (cherry picked from commit 763d3b2c6f26d41e7147f860e59755af2fe87fe4) Reviewed-on: https://chromium-review.googlesource.com/407957 Commit-Ready: Douglas Anderson Tested-by: Douglas Anderson Reviewed-by: Stefan Reinauer --- common/mkbp_event.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/common/mkbp_event.c b/common/mkbp_event.c index d5bcb0cca5..ec8aad35aa 100644 --- a/common/mkbp_event.c +++ b/common/mkbp_event.c @@ -67,13 +67,11 @@ void mkbp_send_event(uint8_t event_type) #ifdef CONFIG_MKBP_WAKEUP_MASK /* Only assert interrupt for wake events if host is sleeping */ if (host_is_sleeping()) { - uint32_t events; - events = *(uint32_t *)host_get_memmap(EC_MEMMAP_HOST_EVENTS); /* * interrupt the AP if it is a wakeup event * which is defined in the white list. */ - if ((events & CONFIG_MKBP_WAKEUP_MASK) || + if ((host_get_events() & CONFIG_MKBP_WAKEUP_MASK) || (event_type == EC_MKBP_EVENT_KEY_MATRIX)) set_host_interrupt(1);