clk: armada-xp: fix refcount leak in axp_clk_init()
authorYangtao Li <tiny.windzz@gmail.com>
Wed, 26 Dec 2018 13:42:26 +0000 (08:42 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Jan 2020 13:50:09 +0000 (14:50 +0100)
[ Upstream commit db20a90a4b6745dad62753f8bd2f66afdd5abc84 ]

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: 0a11a6ae9437 ("clk: mvebu: armada-xp: maintain clock init order")
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/clk/mvebu/armada-xp.c

index 0ec44ae..df52998 100644 (file)
@@ -228,7 +228,9 @@ static void __init axp_clk_init(struct device_node *np)
 
        mvebu_coreclk_setup(np, &axp_coreclks);
 
-       if (cgnp)
+       if (cgnp) {
                mvebu_clk_gating_setup(cgnp, axp_gating_desc);
+               of_node_put(cgnp);
+       }
 }
 CLK_OF_DECLARE(axp_clk, "marvell,armada-xp-core-clock", axp_clk_init);