fdt_support: correct the return condition of fdt_initrd()
Before this commit, fdt_initrd() just returned if initrd
start address is zero.
But it is possible if the RAM is located at address 0.
This commit makes the return condition more reasonable:
Just return if the size of initrd is zero.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Simon Glass <sjg@chromium.org>
diff --git a/common/fdt_support.c b/common/fdt_support.c
index 324d6b9..7927a83 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -217,15 +217,15 @@
int is_u64;
uint64_t addr, size;
+ /* just return if the size of initrd is zero */
+ if (initrd_start == initrd_end)
+ return 0;
+
/* find or create "/chosen" node. */
nodeoffset = fdt_find_or_add_subnode(fdt, 0, "chosen");
if (nodeoffset < 0)
return nodeoffset;
- /* just return if initrd_start/end aren't valid */
- if ((initrd_start == 0) || (initrd_end == 0))
- return 0;
-
total = fdt_num_mem_rsv(fdt);
/*