fdt_find_or_add_memory() returns >= 0 on success, so the return must be
checked to be < 0. Also fix the following pr_warn() which used the wrong
variable.

Signed-off-by: Marco Felsch <[email protected]>
---
 pbl/fdt.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pbl/fdt.c b/pbl/fdt.c
index 
c9820112c6442b65d4f462c93b6847442097c5ab..ac377446caeafb1beaeb211aa8bdec8767ae21fe
 100644
--- a/pbl/fdt.c
+++ b/pbl/fdt.c
@@ -128,9 +128,9 @@ int fdt_fixup_mem(void *fdt, unsigned long membase[], 
unsigned long memsize[],
 
                snprintf(name, sizeof(name), "memory@%lx", base);
                node = fdt_find_or_add_memory(fdt, root, name);
-               if (!node) {
+               if (node < 0) {
                        pr_warn("%s: Failed to get node: %s\n",
-                               name, fdt_strerror(err));
+                               name, fdt_strerror(node));
                        continue;
                }
 

-- 
2.47.3


Reply via email to