[PATCH] efi_loader: Fix to set bootdev_root correctly if bootdev found

Masami Hiramatsu masami.hiramatsu at linaro.org
Mon Jul 12 11:05:17 CEST 2021


Fix find_boot_device() to set bootdev_root if it finds the
bootdev from BootNext. Currently it sets the bootdev_root only
when it finds bootdev from BootOrder.

Fixes: c74cd8bd08d1 ("efi_loader: capsule: add capsule_on_disk support")
Signed-off-by: Masami Hiramatsu <masami.hiramatsu at linaro.org>
---
 lib/efi_loader/efi_capsule.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c
index 50bed32bfb..b736f4ef9e 100644
--- a/lib/efi_loader/efi_capsule.c
+++ b/lib/efi_loader/efi_capsule.c
@@ -632,7 +632,7 @@ static efi_status_t find_boot_device(void)
 		ret = get_dp_device(boot_var16, &boot_dev);
 		if (ret == EFI_SUCCESS) {
 			if (device_is_present_and_system_part(boot_dev)) {
-				goto out;
+				goto found;
 			} else {
 				efi_free_pool(boot_dev);
 				boot_dev = NULL;
@@ -675,6 +675,7 @@ skip:
 		efi_free_pool(boot_dev);
 		boot_dev = NULL;
 	}
+found:
 	if (boot_dev) {
 		u16 *path_str;
 



More information about the U-Boot mailing list