Re: [PATCH] clk: spear: fix resource leak in clk_register_vco_pll()

From: Viresh Kumar

Date: Wed Mar 25 2026 - 03:10:41 EST


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@xxxxxxxxxxxxxxxx>
> ---
> 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@xxxxxxxxxx>

--
viresh