For nomap case, the memory block will be removed by memblock_remove()
in early_init_dt_alloc_reserved_memory_arch(). So it's meaningless to
call memblock_free() on error path.
Cc: Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Link: https://lore.kernel.org/r/20210611131153.3731147-1-aisheng.dong@nxp.com
Signed-off-by: Rob Herring <robh@kernel.org>
                        if (err != 0 && err != -ENOENT) {
                                pr_info("node %s compatible matching fail\n",
                                        rmem->name);
-                               memblock_free(rmem->base, rmem->size);
                                if (nomap)
                                        memblock_add(rmem->base, rmem->size);
+                               else
+                                       memblock_free(rmem->base, rmem->size);
                        }
                }
        }