When terminating for_each_available_child_of_node() iteration
with break or return, of_node_put() should be used to prevent
stale device node references from being left behind.
This is detected by Coccinelle semantic patch.
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Reviewed-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
                        continue;
 
                ret = gpiod_hog(desc, name, lflags, dflags);
-               if (ret < 0)
+               if (ret < 0) {
+                       of_node_put(np);
                        return ret;
+               }
        }
 
        return 0;