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 <divya.chellappa@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/674886
Commit-Ready: Divya Chellappa <divya.chellappa@intel.com>
Tested-by: Divya Chellappa <divya.chellappa@intel.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Subrata Banik <subrata.banik@intel.com>
diff --git a/firmware/lib/vboot_ui_menu.c b/firmware/lib/vboot_ui_menu.c
index 6f43f15..cacee43 100644
--- a/firmware/lib/vboot_ui_menu.c
+++ b/firmware/lib/vboot_ui_menu.c
@@ -1060,9 +1060,14 @@
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);
}
}