Hi Mauro, On Sat, 2021-04-24 at 08:45 +0200, Mauro Carvalho Chehab wrote: > Commit dd8088d5a896 ("PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter") > added pm_runtime_resume_and_get() in order to automatically handle > dev->power.usage_count decrement on errors. > > Use the new API, in order to cleanup the error check logic. > > Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx> > --- > drivers/media/platform/coda/coda-common.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/media/platform/coda/coda-common.c b/drivers/media/platform/coda/coda-common.c > index bd666c858fa1..fea1c136a42c 100644 > --- a/drivers/media/platform/coda/coda-common.c > +++ b/drivers/media/platform/coda/coda-common.c > @@ -2660,7 +2660,7 @@ static int coda_open(struct file *file) > ctx->use_vdoa = false; > > /* Power up and upload firmware if necessary */ > - ret = pm_runtime_get_sync(dev->dev); > + ret = pm_runtime_resume_and_get(dev->dev); > if (ret < 0) { > v4l2_err(&dev->v4l2_dev, "failed to power up: %d\n", ret); > goto err_pm_get; There's a pm_runtime_put_sync() at the err_pm_get below, so the label needs to be moved down a line: @@ -2705,8 +2705,8 @@ static int coda_open(struct file *file) clk_disable_unprepare(dev->clk_ahb); err_clk_ahb: clk_disable_unprepare(dev->clk_per); -err_pm_get: pm_runtime_put_sync(dev->dev); +err_pm_get: v4l2_fh_del(&ctx->fh); v4l2_fh_exit(&ctx->fh); err_coda_name_init: regards Philipp