| From 9367086e1b3c744e2d060d73071cdefb5e818b89 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 26 Dec 2018 08:50:13 -0500 |
| Subject: clk: dove: fix refcount leak in dove_clk_init() |
| |
| From: Yangtao Li <tiny.windzz@gmail.com> |
| |
| [ Upstream commit 8d726c5128298386b907963033be93407b0c4275 ] |
| |
| 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: 8f7fc5450b64 ("clk: mvebu: dove: maintain clock init order") |
| Fixes: 63b8d92c793f ("clk: add Dove PLL divider support for GPU, VMeta and AXI clocks") |
| Signed-off-by: Stephen Boyd <sboyd@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/clk/mvebu/dove.c | 8 ++++++-- |
| 1 file changed, 6 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/clk/mvebu/dove.c b/drivers/clk/mvebu/dove.c |
| index 59fad9546c847..5f258c9bb68bf 100644 |
| --- a/drivers/clk/mvebu/dove.c |
| +++ b/drivers/clk/mvebu/dove.c |
| @@ -190,10 +190,14 @@ static void __init dove_clk_init(struct device_node *np) |
| |
| mvebu_coreclk_setup(np, &dove_coreclks); |
| |
| - if (ddnp) |
| + if (ddnp) { |
| dove_divider_clk_init(ddnp); |
| + of_node_put(ddnp); |
| + } |
| |
| - if (cgnp) |
| + if (cgnp) { |
| mvebu_clk_gating_setup(cgnp, dove_gating_desc); |
| + of_node_put(cgnp); |
| + } |
| } |
| CLK_OF_DECLARE(dove_clk, "marvell,dove-core-clock", dove_clk_init); |
| -- |
| 2.20.1 |
| |