From 1fb39a424725447079d161bd638236dcbade4de4 Mon Sep 17 00:00:00 2001 From: Furquan Shaikh Date: Mon, 21 Aug 2017 17:29:41 -0700 Subject: [PATCH] poppy: Return early from base_detect_change if status is unchanged If current status is the same as requested state, then return early from base_detect_change without taking any action. BUG=b:64460667 BRANCH=None TEST=make -j buildall Change-Id: I3c403739a2e5c43f31fe77b5633927cf49b974eb Signed-off-by: Furquan Shaikh Reviewed-on: https://chromium-review.googlesource.com/625243 Reviewed-by: Aaron Durbin Reviewed-by: Nicolas Boichat --- board/poppy/board.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/board/poppy/board.c b/board/poppy/board.c index 5d1bb89a96..227d812f1d 100644 --- a/board/poppy/board.c +++ b/board/poppy/board.c @@ -198,6 +198,9 @@ static void base_detect_change(enum base_status status) { int connected = (status == BASE_CONNECTED); + if (current_base_status == status) + return; + CPRINTS("Base %sconnected", connected ? "" : "not "); gpio_set_level(GPIO_PP3300_DX_BASE, connected); host_set_single_event(EC_HOST_EVENT_MODE_CHANGE); @@ -260,8 +263,7 @@ static void base_detect_deferred(void) * other ADC values that do not clearly indicate base * presence or absence. */ - if (current_base_status != BASE_DISCONNECTED) - base_detect_change(BASE_DISCONNECTED); + base_detect_change(BASE_DISCONNECTED); } }