efi_getchar() should wait for the event before reading keystroke.
authorchandramouli narayanan <mouli@linux.intel.com>
Fri, 13 Jul 2012 17:34:42 +0000 (10:34 -0700)
committerchandramouli narayanan <mouli@linux.intel.com>
Fri, 13 Jul 2012 17:34:42 +0000 (10:34 -0700)
On an efi64 platform, it didn't work without wait. It needs further
debugging to ascertain the fix.

efi/main.c

index 07177e0..251f5aa 100644 (file)
@@ -243,6 +243,7 @@ char efi_getchar(void)
        EFI_STATUS status;
        char c;
 
+       WaitForSingleEvent(in->WaitForKey, 0);
        do {
                status = uefi_call_wrapper(in->ReadKeyStroke, 2, in, &key);
        } while (status == EFI_NOT_READY);