[PATCH v6 003/102] dm: core: Fix offset_to_ofnode() with invalid offset
Simon Glass
sjg at chromium.org
Sat Dec 7 05:41:36 CET 2019
If the offset is -1 this function correctly sets up a null ofnode. But if
the offset is any other negative number (e.g. -FDT_ERR_BADPATH) then it
does the wrong thing.
An offset of -1 in ofnode indicates that the ofnode is not valid. Any
other negative value is not handled by ofnode_valid(). We could of course
change that function, but it seems much better to always use the same
value for an invalid node.
Fix it by setting the offset to -1 if it is invalid for any reason.
Signed-off-by: Simon Glass <sjg at chromium.org>
Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
---
Changes in v6: None
Changes in v5: None
Changes in v4:
- Update the commit message to be clearer, fix 'correct' typo
Changes in v3: None
Changes in v2: None
include/dm/ofnode.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/dm/ofnode.h b/include/dm/ofnode.h
index 5c4cbf0998..4282169706 100644
--- a/include/dm/ofnode.h
+++ b/include/dm/ofnode.h
@@ -118,7 +118,7 @@ static inline ofnode offset_to_ofnode(int of_offset)
if (of_live_active())
node.np = NULL;
else
- node.of_offset = of_offset;
+ node.of_offset = of_offset >= 0 ? of_offset : -1;
return node;
}
--
2.24.0.393.g34dc348eaf-goog
More information about the U-Boot
mailing list