If we want to restore variables from disk, we need to initialize block
devices before variables.

Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de>
---
 lib/efi_loader/efi_setup.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/efi_loader/efi_setup.c b/lib/efi_loader/efi_setup.c
index f6b17b662c..1e3e474835 100644
--- a/lib/efi_loader/efi_setup.c
+++ b/lib/efi_loader/efi_setup.c
@@ -102,6 +102,11 @@ efi_status_t efi_init_obj_list(void)
        /* On ARM switch from EL3 or secure mode to EL2 or non-secure mode */
        switch_to_non_secure_mode();

+#ifdef CONFIG_PARTITIONS
+       ret = efi_disk_register();
+       if (ret != EFI_SUCCESS)
+               goto out;
+#endif
        /* Initialize variable services */
        ret = efi_init_variables();
        if (ret != EFI_SUCCESS)
@@ -145,11 +150,6 @@ efi_status_t efi_init_obj_list(void)
        ret = efi_console_register();
        if (ret != EFI_SUCCESS)
                goto out;
-#ifdef CONFIG_PARTITIONS
-       ret = efi_disk_register();
-       if (ret != EFI_SUCCESS)
-               goto out;
-#endif
 #if defined(CONFIG_LCD) || defined(CONFIG_DM_VIDEO)
        ret = efi_gop_register();
        if (ret != EFI_SUCCESS)
--
2.25.1

Reply via email to