Fix OF node leaks by calling of_node_put in
for_each_available_child_of_node when the cycle returns.
Generated by: scripts/coccinelle/iterators/for_each_child.cocci
Signed-off-by: Junlin Yang <yangjunlin@yulong.com>
Link: https://lore.kernel.org/r/20210215103643.898-1-angkery@163.com
Acked-by: Fabien Dessenne <fabien.dessenne@foss.st.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
                if (of_property_read_bool(child, "gpio-controller")) {
                        bank->rstc = of_reset_control_get_exclusive(child,
                                                                    NULL);
-                       if (PTR_ERR(bank->rstc) == -EPROBE_DEFER)
+                       if (PTR_ERR(bank->rstc) == -EPROBE_DEFER) {
+                               of_node_put(child);
                                return -EPROBE_DEFER;
+                       }
 
                        bank->clk = of_clk_get_by_name(child, NULL);
                        if (IS_ERR(bank->clk)) {
                                        dev_err(dev,
                                                "failed to get clk (%ld)\n",
                                                PTR_ERR(bank->clk));
+                               of_node_put(child);
                                return PTR_ERR(bank->clk);
                        }
                        i++;