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

Fix the following coccicheck warning:
./drivers/pinctrl/pinctrl-ingenic.c:2485:1-23: WARNING: Function
"for_each_child_of_node" should have of_node_put() before return around
line 2489.

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/pinctrl/pinctrl-ingenic.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/pinctrl/pinctrl-ingenic.c 
b/drivers/pinctrl/pinctrl-ingenic.c
index f274612..c8ecd01 100644
--- a/drivers/pinctrl/pinctrl-ingenic.c
+++ b/drivers/pinctrl/pinctrl-ingenic.c
@@ -2485,8 +2485,10 @@ static int __init ingenic_pinctrl_probe(struct 
platform_device *pdev)
        for_each_child_of_node(dev->of_node, node) {
                if (of_match_node(ingenic_gpio_of_match, node)) {
                        err = ingenic_gpio_probe(jzpc, node);
-                       if (err)
+                       if (err) {
+                               of_node_put(node);
                                return err;
+                       }
                }
        }
 
-- 
1.8.3.1

Reply via email to