From e95ceff307f6c5c457f3e805991804ae2c7cb50c Mon Sep 17 00:00:00 2001 From: Divya Chellap Date: Wed, 20 Sep 2017 12:10:26 +0530 Subject: [PATCH] vboot: Handle power button press in broken screen power button press is not being handled in broken screen (VB_SCREEN_OS_BROKEN) if the user wants to exit out of it. BUG=none BRANCH=none TEST=verified power button key functionality in broken screen in Soraka board Change-Id: I64cbb79479e3e0579aeec4e87894441acf26c9fa Signed-off-by: Divya Chellap Reviewed-on: https://chromium-review.googlesource.com/674886 Commit-Ready: Divya Chellappa Tested-by: Divya Chellappa Reviewed-by: Aaron Durbin Reviewed-by: Subrata Banik --- firmware/lib/vboot_ui_menu.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/firmware/lib/vboot_ui_menu.c b/firmware/lib/vboot_ui_menu.c index 6f43f151c3..cacee432cd 100644 --- a/firmware/lib/vboot_ui_menu.c +++ b/firmware/lib/vboot_ui_menu.c @@ -1060,9 +1060,14 @@ VbError_t vb2_recovery_menu(struct vb2_context *ctx, VbCommonParams *cparams) VbDisplayScreen(ctx, cparams, VB_SCREEN_OS_BROKEN, 0); VB2_DEBUG("waiting for manual recovery\n"); while (1) { - VbCheckDisplayKey(ctx, cparams, VbExKeyboardRead()); - if (VbWantShutdownMenu(cparams->gbb->flags)) + key = VbExKeyboardRead(); + if (key == VB_BUTTON_POWER) return VBERROR_SHUTDOWN_REQUESTED; + else { + VbCheckDisplayKey(ctx, cparams, key); + if (VbWantShutdownMenu(cparams->gbb->flags)) + return VBERROR_SHUTDOWN_REQUESTED; + } VbExSleepMs(REC_KEY_DELAY); } }