From: Simon Glass <[email protected]> Call this function from the EFI code. Add the required call to dm_remove_devices_active() there.
Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Simon Glass <[email protected]> --- boot/bootm_final.c | 2 ++ lib/efi_loader/efi_boottime.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/boot/bootm_final.c b/boot/bootm_final.c index 15ddbbe5e74..263cd95dcb3 100644 --- a/boot/bootm_final.c +++ b/boot/bootm_final.c @@ -6,7 +6,9 @@ */ #include <bootm.h> +#include <dm/root.h> void bootm_final(enum bootm_final_t flags) { + dm_remove_devices_active(); } diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c index ddc935d2240..13d0d4dbe88 100644 --- a/lib/efi_loader/efi_boottime.c +++ b/lib/efi_loader/efi_boottime.c @@ -2241,7 +2241,7 @@ static efi_status_t EFIAPI efi_exit_boot_services(efi_handle_t image_handle, if (IS_ENABLED(CONFIG_DM_ETH)) eth_halt(); board_quiesce_devices(); - dm_remove_devices_active(); + bootm_final(0); } /* Patch out unsupported runtime function */ -- 2.43.0

