summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryasuoka <yasuoka@openbsd.org>2018-08-24 01:42:41 +0000
committeryasuoka <yasuoka@openbsd.org>2018-08-24 01:42:41 +0000
commit6638e4d92d9ec284dd96aafee488c83df5864d4d (patch)
tree97b7b9436fab343bdb6200d4638801b0030aee15
parentRun our DSA against wycheproof test vectors. (diff)
downloadwireguard-openbsd-6638e4d92d9ec284dd96aafee488c83df5864d4d.tar.xz
wireguard-openbsd-6638e4d92d9ec284dd96aafee488c83df5864d4d.zip
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
-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);