From: Dong Aisheng <[email protected]>

Since this API requires user to call of_node_put for the node
it returned via outargs, if no outargs provided, user have no
chance to release it, so release it internally if no outargs
provided.

Signed-off-by: Dong Aisheng <[email protected]>
---
 drivers/of/base.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/of/base.c b/drivers/of/base.c
index d9bfd49..91c1fb4 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -961,6 +961,8 @@ int of_parse_phandle_with_args(struct device_node *np, 
const char *list_name,
                                out_args->args_count = count;
                                for (i = 0; i < count; i++)
                                        out_args->args[i] = 
be32_to_cpup(list++);
+                       } else {
+                               of_node_put(node);
                        }
                        return 0;
                }
-- 
1.7.0.4


_______________________________________________
devicetree-discuss mailing list
[email protected]
https://lists.ozlabs.org/listinfo/devicetree-discuss

Reply via email to