On Wed, 5 May 2021 11:42:09 +0200 Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx> wrote: > The pm_runtime_get_sync() internally increments the > dev->power.usage_count without decrementing it, even on errors. > Replace it by the new pm_runtime_resume_and_get(), introduced by: > commit dd8088d5a896 ("PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter") > in order to properly decrement the usage counter, avoiding > a potential PM usage counter leak. > > As a plus, pm_runtime_resume_and_get() doesn't return > positive numbers, so the return code validation can > be removed. > > Reviewed-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> > Acked-by: Andrzej Pietrasiewicz <andrzejtp2010@xxxxxxxxx> > Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > --- > drivers/media/platform/s5p-jpeg/jpeg-core.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c b/drivers/media/platform/s5p-jpeg/jpeg-core.c > index 026111505f5a..d402e456f27d 100644 > --- a/drivers/media/platform/s5p-jpeg/jpeg-core.c > +++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c > @@ -2566,11 +2566,8 @@ static void s5p_jpeg_buf_queue(struct vb2_buffer *vb) > static int s5p_jpeg_start_streaming(struct vb2_queue *q, unsigned int count) > { > struct s5p_jpeg_ctx *ctx = vb2_get_drv_priv(q); > - int ret; > > - ret = pm_runtime_get_sync(ctx->jpeg->dev); > - > - return ret > 0 ? 0 : ret; > + return pm_runtime_resume_and_get(ctx->jpeg->dev); > } > > static void s5p_jpeg_stop_streaming(struct vb2_queue *q)