pinctrl: ingenic: add missing call to of_node_put()
authorYang Li <yang.lee@linux.alibaba.com>
Fri, 26 Feb 2021 01:34:57 +0000 (09:34 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 10 Mar 2021 13:41:13 +0000 (14:41 +0100)
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 <abaci@linux.alibaba.com>
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
Acked-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/r/1614303297-24178-1-git-send-email-yang.lee@linux.alibaba.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-ingenic.c

index f274612..c8ecd01 100644 (file)
@@ -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;
+                       }
                }
        }