clk: spear: fix resource leak in clk_register_vco_pll()

Add a goto label in clk_register_vco_pll(), unregister vco_clk
if tpll_clk is failed to be registered.

Signed-off-by: Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Link: https://lore.kernel.org/r/20260325062204.169648-1-lihaoxiang@isrc.iscas.ac.cn
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Haoxiang Li
2026-03-25 14:22:04 +08:00
committed by Arnd Bergmann
parent c7091fd5eb
commit a0ac82cbed

View File

@@ -343,13 +343,15 @@ struct clk *clk_register_vco_pll(const char *vco_name, const char *pll_name,
tpll_clk = clk_register(NULL, &pll->hw);
if (IS_ERR_OR_NULL(tpll_clk))
goto free_pll;
goto unregister_clk;
if (pll_clk)
*pll_clk = tpll_clk;
return vco_clk;
unregister_clk:
clk_unregister(vco_clk);
free_pll:
kfree(pll);
free_vco: