[PATCH net-next v4 1/7] net: axienet: Fix resource release ordering

Andrew Lunn andrew at lunn.ch
Tue Aug 5 13:59:11 PDT 2025


> +static void axienet_disable_misc(void *clocks)
> +{
> +	clk_bulk_disable_unprepare(XAE_NUM_MISC_CLOCKS, clocks);
> +}
> +

...

>  	ret = devm_clk_bulk_get_optional(&pdev->dev, XAE_NUM_MISC_CLOCKS, lp->misc_clks);
>  	if (ret)
> -		goto cleanup_clk;
> +		return dev_err_probe(&pdev->dev, ret,
> +				     "could not get misc. clocks\n");
>  
>  	ret = clk_bulk_prepare_enable(XAE_NUM_MISC_CLOCKS, lp->misc_clks);
>  	if (ret)
> -		goto cleanup_clk;
> +		return dev_err_probe(&pdev->dev, ret,
> +				     "could not enable misc. clocks\n");
> +
> +	ret = devm_add_action_or_reset(&pdev->dev, axienet_disable_misc,
> +				       lp->misc_clks);

It seems like it would be better to add
devm_clk_bulk_get_optional_enable(). There is already an
devm_clk_bulk_get_all_enabled() so it does not seem like too big a
step.

	Andrew



More information about the linux-arm-kernel mailing list