aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMasami Hiramatsu2021-07-12 18:05:17 +0900
committerHeinrich Schuchardt2021-07-12 20:38:16 +0200
commitb0b1449b3be9b93ecc57d91b0cb18ed81fc8a1ee (patch)
treeb4b167b47aa3e4934734d75f62c9a7e5b94a91d5
parent70bad5462ca77dcd62efb6fdff03b26460df5f14 (diff)
efi_loader: Fix to set bootdev_root correctly if bootdev found
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@linaro.org> Accked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
-rw-r--r--lib/efi_loader/efi_capsule.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c
index bef9d61f675..b878e71438b 100644
--- a/lib/efi_loader/efi_capsule.c
+++ b/lib/efi_loader/efi_capsule.c
@@ -646,7 +646,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;
@@ -689,6 +689,7 @@ skip:
efi_free_pool(boot_dev);
boot_dev = NULL;
}
+found:
if (boot_dev) {
u16 *path_str;