diff options
| author | Yangtao Li <tiny.windzz@gmail.com> | 2018-12-26 08:50:13 -0500 |
|---|---|---|
| committer | Stephen Boyd <sboyd@kernel.org> | 2018-12-28 14:45:43 -0500 |
| commit | 8d726c5128298386b907963033be93407b0c4275 (patch) | |
| tree | 7f0ed687092586828b84529dc9da2a2cef3369a9 | |
| parent | 9b4eedf627045ae5ddcff60a484200cdd554c413 (diff) | |
clk: dove: fix refcount leak in dove_clk_init()
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>
| -rw-r--r-- | drivers/clk/mvebu/dove.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/clk/mvebu/dove.c b/drivers/clk/mvebu/dove.c index e0dd99f36bf4..0bd09d33f9cf 100644 --- a/drivers/clk/mvebu/dove.c +++ b/drivers/clk/mvebu/dove.c | |||
| @@ -188,10 +188,14 @@ static void __init dove_clk_init(struct device_node *np) | |||
| 188 | 188 | ||
| 189 | mvebu_coreclk_setup(np, &dove_coreclks); | 189 | mvebu_coreclk_setup(np, &dove_coreclks); |
| 190 | 190 | ||
| 191 | if (ddnp) | 191 | if (ddnp) { |
| 192 | dove_divider_clk_init(ddnp); | 192 | dove_divider_clk_init(ddnp); |
| 193 | of_node_put(ddnp); | ||
| 194 | } | ||
| 193 | 195 | ||
| 194 | if (cgnp) | 196 | if (cgnp) { |
| 195 | mvebu_clk_gating_setup(cgnp, dove_gating_desc); | 197 | mvebu_clk_gating_setup(cgnp, dove_gating_desc); |
| 198 | of_node_put(cgnp); | ||
| 199 | } | ||
| 196 | } | 200 | } |
| 197 | CLK_OF_DECLARE(dove_clk, "marvell,dove-core-clock", dove_clk_init); | 201 | CLK_OF_DECLARE(dove_clk, "marvell,dove-core-clock", dove_clk_init); |
