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);
 		}
 	}