[PATCH] HSI: omap_ssi_core: fix unbalanced pm_runtime_disable()

Yang Yingliang posted 1 patch 3 years, 5 months ago
drivers/hsi/controllers/omap_ssi_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] HSI: omap_ssi_core: fix unbalanced pm_runtime_disable()
Posted by Yang Yingliang 3 years, 5 months ago
In error label 'out1' path in ssi_probe(), the pm_runtime_enable()
has not been called yet, so pm_runtime_disable() is not needed.

Fixes: b209e047bc74 ("HSI: Introduce OMAP SSI driver")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 drivers/hsi/controllers/omap_ssi_core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hsi/controllers/omap_ssi_core.c b/drivers/hsi/controllers/omap_ssi_core.c
index 80bf09bc5d15..052cf3e92dd6 100644
--- a/drivers/hsi/controllers/omap_ssi_core.c
+++ b/drivers/hsi/controllers/omap_ssi_core.c
@@ -538,9 +538,9 @@ static int ssi_probe(struct platform_device *pd)
 	device_for_each_child(&pd->dev, NULL, ssi_remove_ports);
 out2:
 	ssi_remove_controller(ssi);
+	pm_runtime_disable(&pd->dev);
 out1:
 	platform_set_drvdata(pd, NULL);
-	pm_runtime_disable(&pd->dev);
 
 	return err;
 }
-- 
2.25.1
Re: [PATCH] HSI: omap_ssi_core: fix unbalanced pm_runtime_disable()
Posted by Sebastian Reichel 3 years, 4 months ago
Hi,

On Tue, Nov 01, 2022 at 11:41:18AM +0800, Yang Yingliang wrote:
> In error label 'out1' path in ssi_probe(), the pm_runtime_enable()
> has not been called yet, so pm_runtime_disable() is not needed.
> 
> Fixes: b209e047bc74 ("HSI: Introduce OMAP SSI driver")
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
> ---

Thanks, queued.

-- Sebastian

>  drivers/hsi/controllers/omap_ssi_core.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/hsi/controllers/omap_ssi_core.c b/drivers/hsi/controllers/omap_ssi_core.c
> index 80bf09bc5d15..052cf3e92dd6 100644
> --- a/drivers/hsi/controllers/omap_ssi_core.c
> +++ b/drivers/hsi/controllers/omap_ssi_core.c
> @@ -538,9 +538,9 @@ static int ssi_probe(struct platform_device *pd)
>  	device_for_each_child(&pd->dev, NULL, ssi_remove_ports);
>  out2:
>  	ssi_remove_controller(ssi);
> +	pm_runtime_disable(&pd->dev);
>  out1:
>  	platform_set_drvdata(pd, NULL);
> -	pm_runtime_disable(&pd->dev);
>  
>  	return err;
>  }
> -- 
> 2.25.1
>