[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