]> git.ipfire.org Git - thirdparty/ipxe.git/commit
[efi] Drop to external TPL for calls to ConnectController()
authorMichael Brown <mcb30@ipxe.org>
Mon, 14 Jul 2025 11:17:11 +0000 (12:17 +0100)
committerMichael Brown <mcb30@ipxe.org>
Mon, 14 Jul 2025 11:19:15 +0000 (12:19 +0100)
commitc3376f86457120e360161ce19e6862f31980c2f2
tree9622c61f07da30b904d3e2f00e00db85285cecaf
parentc01c3215dcff1be62347db794dddc1e33c219887
[efi] Drop to external TPL for calls to ConnectController()

There is nothing in the current versions of the UEFI specification
that limits the TPL at which we may call ConnectController() or
DisconnectController().  However, at least some platforms (observed
with a Lenovo ThinkPad T14s Gen 5) will occasionally and unpredictably
lock up before returning from ConnectController() if called at a TPL
higher than TPL_APPLICATION.

Work around whatever defect is present on these systems by dropping to
the current external TPL for all calls to ConnectController() or
DisconnectController().

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/include/ipxe/efi/efi.h
src/include/ipxe/errfile.h
src/interface/efi/efi_block.c
src/interface/efi/efi_connect.c [new file with mode: 0644]
src/interface/efi/efi_driver.c
src/interface/efi/efi_usb.c
src/interface/efi/efi_veto.c