clk: ti: fix refcount leak in ti_dt_clocks_register()
authorYangtao Li <tiny.windzz@gmail.com>
Wed, 26 Dec 2018 13:21:31 +0000 (08:21 -0500)
committerStephen Boyd <sboyd@kernel.org>
Fri, 28 Dec 2018 19:27:08 +0000 (11:27 -0800)
The of_find_compatible_node() returns a node pointer with refcount
incremented, but there is the lack of use of the of_node_put() when
done. Add the missing of_node_put() to release the refcount.

Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
Fixes: 5b385a45e001 ("clk: ti: add support for clkctrl aliases")
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/ti/clk.c

index d0cd58534781d8b51f62fc256f30d0d04d96182a..5174f9a916795dc0d42eef6bf6b287c6339a5d3a 100644 (file)
@@ -191,9 +191,13 @@ void __init ti_dt_clocks_register(struct ti_dt_clk oclks[])
                        clkdev_add(&c->lk);
                } else {
                        if (num_args && !has_clkctrl_data) {
-                               if (of_find_compatible_node(NULL, NULL,
-                                                           "ti,clkctrl")) {
+                               struct device_node *np;
+
+                               np = of_find_compatible_node(NULL, NULL,
+                                                            "ti,clkctrl");
+                               if (np) {
                                        has_clkctrl_data = true;
+                                       of_node_put(np);
                                } else {
                                        clkctrl_nodes_missing = true;