[PATCH] clk: spear: fix resource leak in clk_register_vco_pll()
Viresh Kumar
viresh.kumar at linaro.org
Wed Mar 25 00:07:59 PDT 2026
On 25-03-26, 14:22, Haoxiang Li wrote:
> 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 at isrc.iscas.ac.cn>
> ---
> drivers/clk/spear/clk-vco-pll.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/clk/spear/clk-vco-pll.c b/drivers/clk/spear/clk-vco-pll.c
> index 723a6eb67754..ceb82723fa8c 100644
> --- a/drivers/clk/spear/clk-vco-pll.c
> +++ b/drivers/clk/spear/clk-vco-pll.c
> @@ -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:
Acked-by: Viresh Kumar <viresh.kumar at linaro.org>
--
viresh
More information about the linux-arm-kernel
mailing list