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: c74cd8bd08 ("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>
This commit is contained in:
Masami Hiramatsu 2021-07-12 18:05:17 +09:00 committed by Heinrich Schuchardt
parent 70bad5462c
commit b0b1449b3b

View file

@ -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;