efi/arm: Revert deferred unmap of early memmap mapping
[platform/kernel/linux-rpi.git] / drivers / firmware / efi / arm-runtime.c
index 5889cbe..a00934d 100644 (file)
@@ -115,6 +115,15 @@ static int __init arm_enable_runtime_services(void)
                return 0;
        }
 
+       efi_memmap_unmap();
+
+       mapsize = efi.memmap.desc_size * efi.memmap.nr_map;
+
+       if (efi_memmap_init_late(efi.memmap.phys_map, mapsize)) {
+               pr_err("Failed to remap EFI memory map\n");
+               return 0;
+       }
+
        if (efi_runtime_disabled()) {
                pr_info("EFI runtime services will be disabled.\n");
                return 0;
@@ -127,13 +136,6 @@ static int __init arm_enable_runtime_services(void)
 
        pr_info("Remapping and enabling EFI services.\n");
 
-       mapsize = efi.memmap.desc_size * efi.memmap.nr_map;
-
-       if (efi_memmap_init_late(efi.memmap.phys_map, mapsize)) {
-               pr_err("Failed to remap EFI memory map\n");
-               return -ENOMEM;
-       }
-
        if (!efi_virtmap_init()) {
                pr_err("UEFI virtual mapping missing or invalid -- runtime services will not be available\n");
                return -ENOMEM;