Both of_find_path() and of_find_path_by_node() return a meaningful
error code, so forward it instead of inventing a new one. Do this
especially for the -EPROBE_DEFER case which currently does not work.

Signed-off-by: Sascha Hauer <[email protected]>
---
 common/state/state.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/common/state/state.c b/common/state/state.c
index 075618e..2be3c8c 100644
--- a/common/state/state.c
+++ b/common/state/state.c
@@ -466,9 +466,10 @@ struct state *state_new_from_node(struct device_node 
*node, char *path,
                        of_path = partition_node->full_name;
                        ret = of_find_path_by_node(partition_node, &path, 0);
                }
-               if (!path) {
-                       pr_err("state failed to parse path to backend\n");
-                       ret = -EINVAL;
+               if (ret) {
+                       if (ret != -EPROBE_DEFER)
+                               pr_err("state failed to parse path to backend: 
%s\n",
+                                      strerror(-ret));
                        goto out_release_state;
                }
        }
-- 
2.9.3


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to