[PATCH] i2c: davinci: Unregister cpufreq notifier on probe failure

Bartosz Golaszewski brgl at kernel.org
Wed Jun 10 00:09:51 PDT 2026


On Wed, 10 Jun 2026 05:05:13 +0200, Haoxiang Li <haoxiang_li2024 at 163.com> said:
> davinci_i2c_probe() registers a cpufreq transition notifier before adding
> the I2C adapter.  If i2c_add_numbered_adapter() fails, the probe error path
> releases the device resources without unregistering the notifier.
>
> Add a dedicated error path to unregister the cpufreq notifier after
> i2c_add_numbered_adapter() fails.
>
> Fixes: 82c0de11b734 ("i2c: davinci: Add cpufreq support")
> Cc: stable at vger.kernel.org
> Signed-off-by: Haoxiang Li <haoxiang_li2024 at 163.com>
> ---
>  drivers/i2c/busses/i2c-davinci.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/i2c/busses/i2c-davinci.c b/drivers/i2c/busses/i2c-davinci.c
> index a773ba082321..a24c3e8b87ff 100644
> --- a/drivers/i2c/busses/i2c-davinci.c
> +++ b/drivers/i2c/busses/i2c-davinci.c
> @@ -818,12 +818,14 @@ static int davinci_i2c_probe(struct platform_device *pdev)
>  	adap->nr = pdev->id;
>  	r = i2c_add_numbered_adapter(adap);
>  	if (r)
> -		goto err_unuse_clocks;
> +		goto err_cpufreq;
>
>  	pm_runtime_put_autosuspend(dev->dev);
>
>  	return 0;
>
> +err_cpufreq:
> +	i2c_davinci_cpufreq_deregister(dev);
>  err_unuse_clocks:
>  	pm_runtime_dont_use_autosuspend(dev->dev);
>  	pm_runtime_put_sync(dev->dev);
> --
> 2.25.1
>
>

Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski at oss.qualcomm.com>



More information about the linux-arm-kernel mailing list