[PATCH] i2c: cadence: Unregister the clk notifier in error path

Satish Nagireddy posted 1 patch 3 years, 9 months ago
drivers/i2c/busses/i2c-cadence.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] i2c: cadence: Unregister the clk notifier in error path
Posted by Satish Nagireddy 3 years, 9 months ago
This patch ensures that the clock notifier is unregistered
when driver probe is returning error.

Signed-off-by: Satish Nagireddy <satish.nagireddy@getcruise.com>
---
 drivers/i2c/busses/i2c-cadence.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/i2c/busses/i2c-cadence.c b/drivers/i2c/busses/i2c-cadence.c
index b4c1ad19cdae..3d6f8ee355bf 100644
--- a/drivers/i2c/busses/i2c-cadence.c
+++ b/drivers/i2c/busses/i2c-cadence.c
@@ -1338,6 +1338,7 @@ static int cdns_i2c_probe(struct platform_device *pdev)
 	return 0;
 
 err_clk_dis:
+	clk_notifier_unregister(id->clk, &id->clk_rate_change_nb);
 	clk_disable_unprepare(id->clk);
 	pm_runtime_disable(&pdev->dev);
 	pm_runtime_set_suspended(&pdev->dev);
-- 
2.36.1
Re: [PATCH] i2c: cadence: Unregister the clk notifier in error path
Posted by Wolfram Sang 3 years, 9 months ago
On Tue, Jun 28, 2022 at 12:12:16PM -0700, Satish Nagireddy wrote:
> This patch ensures that the clock notifier is unregistered
> when driver probe is returning error.
> 
> Signed-off-by: Satish Nagireddy <satish.nagireddy@getcruise.com>

Applied to for-current, thanks! I added a Fixes: tag. It would be great
if you had the time to provide it next time with the patch.

Happy hacking!

Re: [EXT] Re: [PATCH] i2c: cadence: Unregister the clk notifier in error path
Posted by Satish Nagireddy 3 years, 9 months ago
On Thu, Jul 7, 2022 at 2:08 PM Wolfram Sang <wsa@kernel.org> wrote:
>
> On Tue, Jun 28, 2022 at 12:12:16PM -0700, Satish Nagireddy wrote:
> > This patch ensures that the clock notifier is unregistered
> > when driver probe is returning error.
> >
> > Signed-off-by: Satish Nagireddy <satish.nagireddy@getcruise.com>
>
> Applied to for-current, thanks! I added a Fixes: tag. It would be great
> if you had the time to provide it next time with the patch.
>
> Happy hacking!
>

Sure, thank you!

Regards,
Satish
Re: [PATCH] i2c: cadence: Unregister the clk notifier in error path
Posted by Michal Simek 3 years, 9 months ago

On 6/28/22 21:12, Satish Nagireddy wrote:
> This patch ensures that the clock notifier is unregistered
> when driver probe is returning error.
> 
> Signed-off-by: Satish Nagireddy <satish.nagireddy@getcruise.com>
> ---
>   drivers/i2c/busses/i2c-cadence.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/i2c/busses/i2c-cadence.c b/drivers/i2c/busses/i2c-cadence.c
> index b4c1ad19cdae..3d6f8ee355bf 100644
> --- a/drivers/i2c/busses/i2c-cadence.c
> +++ b/drivers/i2c/busses/i2c-cadence.c
> @@ -1338,6 +1338,7 @@ static int cdns_i2c_probe(struct platform_device *pdev)
>          return 0;
> 
>   err_clk_dis:
> +       clk_notifier_unregister(id->clk, &id->clk_rate_change_nb);
>          clk_disable_unprepare(id->clk);
>          pm_runtime_disable(&pdev->dev);
>          pm_runtime_set_suspended(&pdev->dev);
> --
> 2.36.1
> 

Reviewed-by: Michal Simek <michal.simek@amd.com>

Thanks,
Michal
Re: [PATCH] i2c: cadence: Unregister the clk notifier in error path
Posted by Lars-Peter Clausen 3 years, 9 months ago
On 6/28/22 21:12, Satish Nagireddy wrote:
> This patch ensures that the clock notifier is unregistered
> when driver probe is returning error.
>
> Signed-off-by: Satish Nagireddy <satish.nagireddy@getcruise.com>

Thanks! Looks good.

Tested-by: Lars-Peter Clausen <lars@metafoo.de>

> ---
>   drivers/i2c/busses/i2c-cadence.c | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/drivers/i2c/busses/i2c-cadence.c b/drivers/i2c/busses/i2c-cadence.c
> index b4c1ad19cdae..3d6f8ee355bf 100644
> --- a/drivers/i2c/busses/i2c-cadence.c
> +++ b/drivers/i2c/busses/i2c-cadence.c
> @@ -1338,6 +1338,7 @@ static int cdns_i2c_probe(struct platform_device *pdev)
>   	return 0;
>   
>   err_clk_dis:
> +	clk_notifier_unregister(id->clk, &id->clk_rate_change_nb);
>   	clk_disable_unprepare(id->clk);
>   	pm_runtime_disable(&pdev->dev);
>   	pm_runtime_set_suspended(&pdev->dev);