summaryrefslogtreecommitdiff
path: root/sys/arch/amd64
diff options
context:
space:
mode:
authorYASUOKA Masahiko <yasuoka@cvs.openbsd.org>2018-08-24 01:42:42 +0000
committerYASUOKA Masahiko <yasuoka@cvs.openbsd.org>2018-08-24 01:42:42 +0000
commit3b52f5b9515ed7276e3aadc73bb509a38575a67c (patch)
tree042244a6ae3ed5afcbd69d554c3f37a14106cf52 /sys/arch/amd64
parent38177c9d3267c83dc0c5551de52769ef9143e57e (diff)
Don't treat UnicodeChar == 0 as a keyboard input.
This fixes the problem that which prevents typing the passpharase for softraid on boot. It happened at least with some external keyboards on ThinkPad X2{6,8}0. diff from Frank Groeneveld ok tb
Diffstat (limited to 'sys/arch/amd64')
-rw-r--r--sys/arch/amd64/stand/efiboot/efiboot.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arch/amd64/stand/efiboot/efiboot.c b/sys/arch/amd64/stand/efiboot/efiboot.c
index 2f4a01ec7b0..6f8212c76a4 100644
--- a/sys/arch/amd64/stand/efiboot/efiboot.c
+++ b/sys/arch/amd64/stand/efiboot/efiboot.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: efiboot.c,v 1.30 2018/07/06 07:55:50 yasuoka Exp $ */
+/* $OpenBSD: efiboot.c,v 1.31 2018/08/24 01:42:41 yasuoka Exp $ */
/*
* Copyright (c) 2015 YASUOKA Masahiko <yasuoka@yasuoka.net>
@@ -494,7 +494,7 @@ efi_cons_getc(dev_t dev)
}
status = EFI_CALL(conin->ReadKeyStroke, conin, &key);
- while (status == EFI_NOT_READY) {
+ while (status == EFI_NOT_READY || key.UnicodeChar == 0) {
if (dev & 0x80)
return (0);
EFI_CALL(BS->WaitForEvent, 1, &conin->WaitForKey, &dummy);