[PATCH 0/4 v2] Reconnect controllers on failues

Ilias Apalodimas ilias.apalodimas at linaro.org
Tue Jun 20 08:19:27 CEST 2023


Hi,
This is a resend of [0] trying to reconnect drivers gracefully in case of
a protocol removal failure.

Changes since v1:
- Fix an existing memory leak when uninstalling a protocol.  The opened
  protocol information was never released
- Drop a patch that was incorrectly trying to free protocols on the handle
  that were not associated with the driver being released
- Rewrite the sefltests and instead of installing a second driver handle
  on the controller handle, force the controller to return EFI_DEVICE_ERROR
  on the first removal. When that happens all the children,  that are
  disconnected before the controller, must be reconnected
- Reconnect all controllers on the handle if after disconnecting drivers
  and closing protocols opened by GET_PROTOCOL, TEST_PROTOCOL, HANDLE_PROTOCOL
  opened protocols are still present in the handle

[0] https://lore.kernel.org/u-boot/20230615143941.416924-1-ilias.apalodimas@linaro.org/

Regards
/Ilias

Ilias Apalodimas (4):
  efi_loader: reconnect drivers on failure
  efi_loader: check the status of disconnected drivers
  efi_loader: fix the return codes of UninstallProtocol
  efi_selftests: add extra testcases on controller handling

 lib/efi_loader/efi_boottime.c               | 43 ++++++++++++++++----
 lib/efi_selftest/efi_selftest_controllers.c | 44 +++++++++++++++++++--
 2 files changed, 77 insertions(+), 10 deletions(-)

--
2.40.1



More information about the U-Boot mailing list