diff mbox series

media: platform: sti: Fix rumtime PM imbalance in regs_show

Message ID 20210407054313.5570-1-dinghao.liu@zju.edu.cn (mailing list archive)
State New, archived
Headers show
Series media: platform: sti: Fix rumtime PM imbalance in regs_show | expand

Commit Message

Dinghao Liu April 7, 2021, 5:43 a.m. UTC
pm_runtime_get_sync() will increase the rumtime PM counter
even it returns an error. Thus a pairing decrement is needed
to prevent refcount leak. Fix this by replacing this API with
pm_runtime_resume_and_get(), which will not change the runtime
PM counter on error.

Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
---
 drivers/media/platform/sti/bdisp/bdisp-debug.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Hans Verkuil April 7, 2021, 1:58 p.m. UTC | #1
On 07/04/2021 07:43, Dinghao Liu wrote:
> pm_runtime_get_sync() will increase the rumtime PM counter
> even it returns an error. Thus a pairing decrement is needed
> to prevent refcount leak. Fix this by replacing this API with
> pm_runtime_resume_and_get(), which will not change the runtime
> PM counter on error.

Nice that a new function was created for this. Good news.

Just a heads up: if you make more patches like this, make sure you
fix the typo 'rumtime' to 'runtime'. I'll fix it manually, no need
to repost. And 'rumtime' does sound tasty!

Regards,

	Hans

> 
> Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
> ---
>  drivers/media/platform/sti/bdisp/bdisp-debug.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/media/platform/sti/bdisp/bdisp-debug.c b/drivers/media/platform/sti/bdisp/bdisp-debug.c
> index 2b270093009c..a27f638df11c 100644
> --- a/drivers/media/platform/sti/bdisp/bdisp-debug.c
> +++ b/drivers/media/platform/sti/bdisp/bdisp-debug.c
> @@ -480,7 +480,7 @@ static int regs_show(struct seq_file *s, void *data)
>  	int ret;
>  	unsigned int i;
>  
> -	ret = pm_runtime_get_sync(bdisp->dev);
> +	ret = pm_runtime_resume_and_get(bdisp->dev);
>  	if (ret < 0) {
>  		seq_puts(s, "Cannot wake up IP\n");
>  		return 0;
>
diff mbox series

Patch

diff --git a/drivers/media/platform/sti/bdisp/bdisp-debug.c b/drivers/media/platform/sti/bdisp/bdisp-debug.c
index 2b270093009c..a27f638df11c 100644
--- a/drivers/media/platform/sti/bdisp/bdisp-debug.c
+++ b/drivers/media/platform/sti/bdisp/bdisp-debug.c
@@ -480,7 +480,7 @@  static int regs_show(struct seq_file *s, void *data)
 	int ret;
 	unsigned int i;
 
-	ret = pm_runtime_get_sync(bdisp->dev);
+	ret = pm_runtime_resume_and_get(bdisp->dev);
 	if (ret < 0) {
 		seq_puts(s, "Cannot wake up IP\n");
 		return 0;