of/fdt: Don't worry about non-memory region overlap for no-map
[platform/kernel/linux-rpi.git] / drivers / of / fdt.c
index 32e5e78..59a7a9e 100644 (file)
@@ -482,9 +482,11 @@ static int __init early_init_dt_reserve_memory_arch(phys_addr_t base,
        if (nomap) {
                /*
                 * If the memory is already reserved (by another region), we
-                * should not allow it to be marked nomap.
+                * should not allow it to be marked nomap, but don't worry
+                * if the region isn't memory as it won't be mapped.
                 */
-               if (memblock_is_region_reserved(base, size))
+               if (memblock_overlaps_region(&memblock.memory, base, size) &&
+                   memblock_is_region_reserved(base, size))
                        return -EBUSY;
 
                return memblock_mark_nomap(base, size);