[syslinux] [PATCH] EFI booting may hang indefinitely when no keyboard is present
Ady
ady-sf at hotmail.com
Sat Aug 15 05:31:01 PDT 2015
> EFI booting may hang indefinitely when no keyboard is present on a
> machine (or when UEFI has chosen to not init USB due to fast boot).
> Reproducible at least with "EFI v2.31 by American Megatrends" on an
> Asrock H81M-ITX board.
>
> Reason is the input draining loop near the end in efi/main.c; it calls
> ReadKeyStroke() as long as EFI_NOT_READY is not returned. On machines
> without keyboard, EFI_DEVICE_ERROR may be returned instead, causing
> infinite looping. Positively checking for EFI_SUCCESS keeps the intent
> while avoiding this behavior.
>
> Patch is against 6.03; the issue is still present in 6.04 as per
> e466d2498604c8eea055a8e98284d65311073b39
>
> Best Regards,
> Olli
Thank you for sharing patch.
I assume this patch was tested on systems with no keyboard connected.
I wonder whether it was (also) tested on systems that do have a
keyboard connected. Among such systems, we could mention different
types of connections (not just USB), and even those with a KVM switch
(not to be confused with Kernel-based Virtual Machine).
In addition to being able to boot Syslinux in all those systems, I also
wonder whether this patch could affect any of the special keys and
their related directives' behavior (and if so, hopefully for good?). I
am referring mainly to:
http://www.syslinux.org/wiki/index.php/Directives/special_keys
TIA,
Ady.
More information about the Syslinux
mailing list