of: of_reserved_mem: only call memblock_free for normal reserved memory

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>
This commit is contained in:
Dong Aisheng 2021-06-11 21:11:52 +08:00 committed by Rob Herring
parent 972d6a7dce
commit 3c6867a12a
1 changed files with 2 additions and 1 deletions

View File

@ -275,9 +275,10 @@ void __init fdt_init_reserved_mem(void)
if (err != 0 && err != -ENOENT) { if (err != 0 && err != -ENOENT) {
pr_info("node %s compatible matching fail\n", pr_info("node %s compatible matching fail\n",
rmem->name); rmem->name);
memblock_free(rmem->base, rmem->size);
if (nomap) if (nomap)
memblock_add(rmem->base, rmem->size); memblock_add(rmem->base, rmem->size);
else
memblock_free(rmem->base, rmem->size);
} }
} }
} }