From 50396ab6a3a3efb3b3dea4f1c2a8f8804fed943e Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Sat, 25 Oct 2014 01:49:32 -0700 Subject: [PATCH] broadwell: Clear pending GPE events before entering sleep state In the case of an EC wake event that is pending but not cleared it is possible for the EC wake pin (i.e. GPIO27) to be asserted after the kernel triggers the sleep SMI but before the system goes to sleep. If this happens then the GPE will be reported as a wake source when the system wakes up again. BUG=chrome-os-partner:33218 BRANCH=samus,auron TEST=build and boot on samus, use the keyboard to enter suspend with suspend_stress_test and ensure that only the RTC is listed as a wake source upon resume. Change-Id: I319dc22e21126a3086415f8f8b2b35eaec66fd50 Signed-off-by: Duncan Laurie Reviewed-on: https://chromium-review.googlesource.com/225540 Reviewed-by: Aaron Durbin --- src/soc/intel/broadwell/smihandler.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/soc/intel/broadwell/smihandler.c b/src/soc/intel/broadwell/smihandler.c index df9f1ce440..235bbd5218 100644 --- a/src/soc/intel/broadwell/smihandler.c +++ b/src/soc/intel/broadwell/smihandler.c @@ -145,6 +145,9 @@ static void southbridge_smi_sleep(void) elog_add_event_byte(ELOG_TYPE_ACPI_ENTER, slp_typ-2); #endif + /* Clear pending GPE events */ + clear_gpe_status(); + /* Next, do the deed. */