mirror of
https://xff.cz/git/u-boot/
synced 2025-11-01 10:56:02 +01:00
efi_loader: do not install dtb if bootmgr fails
If the UEFI boot manager fails there is no point in installing the device-tree as a configuration table. Unload image if device-tree cannot be installed. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
@@ -1209,15 +1209,21 @@ efi_status_t efi_bootmgr_run(void *fdt)
|
||||
return CMD_RET_FAILURE;
|
||||
}
|
||||
|
||||
ret = efi_install_fdt(fdt);
|
||||
if (ret != EFI_SUCCESS)
|
||||
return ret;
|
||||
|
||||
ret = efi_bootmgr_load(&handle, &load_options);
|
||||
if (ret != EFI_SUCCESS) {
|
||||
log_notice("EFI boot manager: Cannot load any image\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = efi_install_fdt(fdt);
|
||||
if (ret != EFI_SUCCESS) {
|
||||
if (EFI_CALL(efi_unload_image(handle)) == EFI_SUCCESS)
|
||||
free(load_options);
|
||||
else
|
||||
log_err("Unloading image failed\n");
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
return do_bootefi_exec(handle, load_options);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user