In one of the error paths of the for_each_child_of_node() loop,
add missing call to of_node_put().

Fix the following coccicheck warning:
./drivers/regulator/scmi-regulator.c:343:1-23: WARNING: Function
"for_each_child_of_node" should have of_node_put() before return around
line 347.

Reported-by: Abaci Robot <ab...@linux.alibaba.com>
Signed-off-by: Yang Li <yang....@linux.alibaba.com>
---

Changes in v2:
-add braces for if

 drivers/regulator/scmi-regulator.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/regulator/scmi-regulator.c 
b/drivers/regulator/scmi-regulator.c
index 0e8b3ca..a917c81 100644
--- a/drivers/regulator/scmi-regulator.c
+++ b/drivers/regulator/scmi-regulator.c
@@ -343,8 +343,10 @@ static int scmi_regulator_probe(struct scmi_device *sdev)
        for_each_child_of_node(np, child) {
                ret = process_scmi_regulator_of_node(sdev, child, rinfo);
                /* abort on any mem issue */
-               if (ret == -ENOMEM)
+               if (ret == -ENOMEM) {
+                       of_node_put(child);
                        return ret;
+               }
        }
 
        /*
-- 
1.8.3.1

Reply via email to