summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/SetupBrowserDxe/InputHandler.c
diff options
context:
space:
mode:
Diffstat (limited to 'MdeModulePkg/Universal/SetupBrowserDxe/InputHandler.c')
-rw-r--r--MdeModulePkg/Universal/SetupBrowserDxe/InputHandler.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/InputHandler.c b/MdeModulePkg/Universal/SetupBrowserDxe/InputHandler.c
index 720efb9a04..ae783b4ae3 100644
--- a/MdeModulePkg/Universal/SetupBrowserDxe/InputHandler.c
+++ b/MdeModulePkg/Universal/SetupBrowserDxe/InputHandler.c
@@ -1384,10 +1384,17 @@ WaitForKeyStroke (
{
EFI_STATUS Status;
- do {
- UiWaitForSingleEvent (gST->ConIn->WaitForKey, 0, 0);
+ while (TRUE) {
Status = gST->ConIn->ReadKeyStroke (gST->ConIn, Key);
- } while (EFI_ERROR(Status));
+ if (!EFI_ERROR (Status)) {
+ break;
+ }
+ if (Status != EFI_NOT_READY) {
+ continue;
+ }
+
+ UiWaitForSingleEvent (gST->ConIn->WaitForKey, 0, 0);
+ }
return Status;
}