diff mbox series

crypto: omap-sham - Use pm_runtime_resume_and_get() in omap_sham_probe()

Message ID 20221124064940.19845-1-shangxiaojing@huawei.com
State Accepted
Commit 7bcceb4c9896b1b672b636ae70fe75110d6bf1ad
Headers show
Series crypto: omap-sham - Use pm_runtime_resume_and_get() in omap_sham_probe() | expand

Commit Message

shangxiaojing Nov. 24, 2022, 6:49 a.m. UTC
omap_sham_probe() calls pm_runtime_get_sync() and calls
pm_runtime_put_sync() latter to put usage_counter. However,
pm_runtime_get_sync() will increment usage_counter even it failed. Fix
it by replacing it with pm_runtime_resume_and_get() to keep usage
counter balanced.

Fixes: b359f034c8bf ("crypto: omap-sham - Convert to use pm_runtime API")
Signed-off-by: Shang XiaoJing <shangxiaojing@huawei.com>
---
 drivers/crypto/omap-sham.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Mark Greer Nov. 28, 2022, 9:29 p.m. UTC | #1
On Thu, Nov 24, 2022 at 02:49:40PM +0800, Shang XiaoJing wrote:
> omap_sham_probe() calls pm_runtime_get_sync() and calls
> pm_runtime_put_sync() latter to put usage_counter. However,
> pm_runtime_get_sync() will increment usage_counter even it failed. Fix
> it by replacing it with pm_runtime_resume_and_get() to keep usage
> counter balanced.
> 
> Fixes: b359f034c8bf ("crypto: omap-sham - Convert to use pm_runtime API")
> Signed-off-by: Shang XiaoJing <shangxiaojing@huawei.com>
> ---
>  drivers/crypto/omap-sham.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/crypto/omap-sham.c b/drivers/crypto/omap-sham.c
> index 655a7f5a406a..cbeda59c6b19 100644
> --- a/drivers/crypto/omap-sham.c
> +++ b/drivers/crypto/omap-sham.c
> @@ -2114,7 +2114,7 @@ static int omap_sham_probe(struct platform_device *pdev)
>  
>  	pm_runtime_enable(dev);
>  
> -	err = pm_runtime_get_sync(dev);
> +	err = pm_runtime_resume_and_get(dev);
>  	if (err < 0) {
>  		dev_err(dev, "failed to get sync: %d\n", err);
>  		goto err_pm;

I do not have the hardware to test this anymore but to the best of my
knowledge, this is a good change.  Thanks Shang.

Acked-by: Mark Greer <mgreer@animalcreek.com>
Herbert Xu Dec. 2, 2022, 10:20 a.m. UTC | #2
On Thu, Nov 24, 2022 at 02:49:40PM +0800, Shang XiaoJing wrote:
> omap_sham_probe() calls pm_runtime_get_sync() and calls
> pm_runtime_put_sync() latter to put usage_counter. However,
> pm_runtime_get_sync() will increment usage_counter even it failed. Fix
> it by replacing it with pm_runtime_resume_and_get() to keep usage
> counter balanced.
> 
> Fixes: b359f034c8bf ("crypto: omap-sham - Convert to use pm_runtime API")
> Signed-off-by: Shang XiaoJing <shangxiaojing@huawei.com>
> ---
>  drivers/crypto/omap-sham.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Patch applied.  Thanks.
diff mbox series

Patch

diff --git a/drivers/crypto/omap-sham.c b/drivers/crypto/omap-sham.c
index 655a7f5a406a..cbeda59c6b19 100644
--- a/drivers/crypto/omap-sham.c
+++ b/drivers/crypto/omap-sham.c
@@ -2114,7 +2114,7 @@  static int omap_sham_probe(struct platform_device *pdev)
 
 	pm_runtime_enable(dev);
 
-	err = pm_runtime_get_sync(dev);
+	err = pm_runtime_resume_and_get(dev);
 	if (err < 0) {
 		dev_err(dev, "failed to get sync: %d\n", err);
 		goto err_pm;