fdtdec: correct test on return of fdt_node_offset_by_phandle
authorPatrick Delaunay <patrick.delaunay@st.com>
Fri, 25 Sep 2020 07:41:15 +0000 (09:41 +0200)
committerSimon Glass <sjg@chromium.org>
Tue, 6 Oct 2020 15:07:54 +0000 (09:07 -0600)
The result of fdt_node_offset_by_phandle is negative for error,
so this patch corrects the check of this result in
fdtdec_parse_phandle_with_args.

This patch allows to have the same behavior with or without OF_LIVE
for the function dev_read_phandle_with_args with cell_name = NULL and
with invalid phandle.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
lib/fdtdec.c

index b8fc5e2..ee1bd41 100644 (file)
@@ -746,7 +746,7 @@ int fdtdec_parse_phandle_with_args(const void *blob, int src_node,
                        if (cells_name || cur_index == index) {
                                node = fdt_node_offset_by_phandle(blob,
                                                                  phandle);
-                               if (!node) {
+                               if (node < 0) {
                                        debug("%s: could not find phandle\n",
                                              fdt_get_name(blob, src_node,
                                                           NULL));