[U-Boot] [PATCH] fdt_support.c: avoid unintended return from fdt_fixup_memory_banks()
miao.yan at windriver.com
miao.yan at windriver.com
Wed Aug 7 12:10:08 CEST 2013
From: Miao Yan <miao.yan at windriver.com>
fdt_fixup_memory_banks() will add and update /memory node in
device tree blob. In the case that /memory node doesn't exist,
after adding a new one, this function returns error.
The correct behavior should be continuing to update its properties.
Signed-off-by: Miao Yan <miao.yan at windriver.com>
---
Not sure whether this is fixed or not, we are seeing this error
when trying to update a device tree without the "/memory" node.
common/fdt_support.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/common/fdt_support.c b/common/fdt_support.c
index 6b9fa05..65056d7 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -405,10 +405,11 @@ int fdt_fixup_memory_banks(void *blob, u64 start[], u64 size[], int banks)
nodeoffset = fdt_path_offset(blob, "/memory");
if (nodeoffset < 0) {
nodeoffset = fdt_add_subnode(blob, 0, "memory");
- if (nodeoffset < 0)
+ if (nodeoffset < 0) {
printf("WARNING: could not create /memory: %s.\n",
fdt_strerror(nodeoffset));
- return nodeoffset;
+ return nodeoffset;
+ }
}
err = fdt_setprop(blob, nodeoffset, "device_type", "memory",
sizeof("memory"));
--
1.7.9.5
More information about the U-Boot
mailing list