diff options
author | Christophe JAILLET <christophe.jaillet@wanadoo.fr> | 2024-01-07 11:12:17 +0300 |
---|---|---|
committer | Stephen Boyd <sboyd@kernel.org> | 2024-02-22 07:51:33 +0300 |
commit | 03c1c51eba6be49b42816af9db114553131af6c8 (patch) | |
tree | 1a18b33c0867e190f6739852188199c92ff8d434 /drivers | |
parent | 6613476e225e090cc9aad49be7fa504e290dd33d (diff) | |
download | linux-03c1c51eba6be49b42816af9db114553131af6c8.tar.xz |
clk: mediatek: mt8135: Fix an error handling path in clk_mt8135_apmixed_probe()
If an error occurs after mtk_alloc_clk_data(), mtk_free_clk_data() should
be called, as already done in the remove function.
Fixes: 54b7026f011e ("clk: mediatek: mt8135-apmixedsys: Convert to platform_driver and module")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/6cd6af61e5a91598068227f1f68cfcfde1507453.1704615011.git.christophe.jaillet@wanadoo.fr
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/clk/mediatek/clk-mt8135-apmixedsys.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/clk/mediatek/clk-mt8135-apmixedsys.c b/drivers/clk/mediatek/clk-mt8135-apmixedsys.c index d1239b4b3db7..41bb2d2e2ea7 100644 --- a/drivers/clk/mediatek/clk-mt8135-apmixedsys.c +++ b/drivers/clk/mediatek/clk-mt8135-apmixedsys.c @@ -59,7 +59,7 @@ static int clk_mt8135_apmixed_probe(struct platform_device *pdev) ret = mtk_clk_register_plls(node, plls, ARRAY_SIZE(plls), clk_data); if (ret) - return ret; + goto free_clk_data; ret = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data); if (ret) @@ -69,6 +69,8 @@ static int clk_mt8135_apmixed_probe(struct platform_device *pdev) unregister_plls: mtk_clk_unregister_plls(plls, ARRAY_SIZE(plls), clk_data); +free_clk_data: + mtk_free_clk_data(clk_data); return ret; } |