clk: armada-370: fix refcount leak in a370_clk_init()
authorYangtao Li <tiny.windzz@gmail.com>
Wed, 26 Dec 2018 13:36:58 +0000 (08:36 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Jan 2020 09:24:09 +0000 (10:24 +0100)
[ Upstream commit a3c24050bdf70c958a8d98c2823b66ea761e6a31 ]

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>
Reviewed-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Fixes: 07ad6836fa21 ("clk: mvebu: armada-370: maintain clock init order")
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/clk/mvebu/armada-370.c

index 2c7c1085f88300ca84ac529831876af25376a047..8fdfa97900cd86e15863beb62be4a288cad9549f 100644 (file)
@@ -177,8 +177,10 @@ static void __init a370_clk_init(struct device_node *np)
 
        mvebu_coreclk_setup(np, &a370_coreclks);
 
-       if (cgnp)
+       if (cgnp) {
                mvebu_clk_gating_setup(cgnp, a370_gating_desc);
+               of_node_put(cgnp);
+       }
 }
 CLK_OF_DECLARE(a370_clk, "marvell,armada-370-core-clock", a370_clk_init);