Applying overlay fails silently in case of an error. Add error prints.
Most notably the lack of symbols in the live tree is not reported.

Signed-off-by: Michal Suchanek <[email protected]>
---
 drivers/of/resolver.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/of/resolver.c b/drivers/of/resolver.c
index d313d49..5d24a4b 100644
--- a/drivers/of/resolver.c
+++ b/drivers/of/resolver.c
@@ -313,6 +313,11 @@ int of_resolve_phandles(struct device_node *resolve)
        phandle phandle, phandle_delta;
        int err;
 
+       if (!resolve)
+               pr_err("%s: null node\n", __func__);
+       if (resolve && !of_node_check_flag(resolve, OF_DETACHED))
+               pr_err("%s: node %s not detached\n", __func__,
+                        resolve->full_name);
        /* the resolve node must exist, and be detached */
        if (!resolve || !of_node_check_flag(resolve, OF_DETACHED))
                return -EINVAL;
@@ -369,6 +374,7 @@ int of_resolve_phandles(struct device_node *resolve)
 
        /* we need to fixup, but no root symbols... */
        if (!root_sym) {
+               pr_err("%s: no symbols in root of device tree.\n", __func__);
                err = -EINVAL;
                goto out;
        }
-- 
2.8.1

Reply via email to