diff options
author | Chun-Jie Chen <chun-jie.chen@mediatek.com> | 2021-09-14 10:16:14 +0800 |
---|---|---|
committer | Stephen Boyd <sboyd@kernel.org> | 2021-09-14 15:05:37 -0700 |
commit | 6203815bf97eeaa78ca2e47758f0232043e69ba7 (patch) | |
tree | 71f6b7ad2a3c8940a57ac991611dd7950b1353dc /drivers/clk/mediatek/clk-mtk.c | |
parent | 300796cad22153f63295a682b9f56f75e6227371 (diff) | |
download | linux-stable-6203815bf97eeaa78ca2e47758f0232043e69ba7.tar.gz linux-stable-6203815bf97eeaa78ca2e47758f0232043e69ba7.tar.bz2 linux-stable-6203815bf97eeaa78ca2e47758f0232043e69ba7.zip |
clk: mediatek: Fix resource leak in mtk_clk_simple_probe
Release clock data when clock driver probe fail to fix
possible resource leak.
Signed-off-by: Chun-Jie Chen <chun-jie.chen@mediatek.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20210914021633.26377-6-chun-jie.chen@mediatek.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Diffstat (limited to 'drivers/clk/mediatek/clk-mtk.c')
-rw-r--r-- | drivers/clk/mediatek/clk-mtk.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/clk/mediatek/clk-mtk.c b/drivers/clk/mediatek/clk-mtk.c index c3d385c0cfcb..74890759e98c 100644 --- a/drivers/clk/mediatek/clk-mtk.c +++ b/drivers/clk/mediatek/clk-mtk.c @@ -314,7 +314,15 @@ int mtk_clk_simple_probe(struct platform_device *pdev) r = mtk_clk_register_gates(node, mcd->clks, mcd->num_clks, clk_data); if (r) - return r; + goto free_data; - return of_clk_add_provider(node, of_clk_src_onecell_get, clk_data); + r = of_clk_add_provider(node, of_clk_src_onecell_get, clk_data); + if (r) + goto free_data; + + return r; + +free_data: + mtk_free_clk_data(clk_data); + return r; } |