media: coda: Fix runtime PM imbalance on error
authorDinghao Liu <dinghao.liu@zju.edu.cn>
Thu, 21 May 2020 10:17:35 +0000 (12:17 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 23 Jun 2020 11:19:12 +0000 (13:19 +0200)
pm_runtime_get_sync() increments the runtime PM usage counter even
when it returns an error code. Thus a pairing decrement is needed on
the error handling path to keep the counter balanced.

Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/coda/coda-common.c

index 6f41f74..3ab3d97 100644 (file)
@@ -2653,7 +2653,7 @@ static int coda_open(struct file *file)
 
        ret = clk_prepare_enable(dev->clk_per);
        if (ret)
-               goto err_clk_per;
+               goto err_pm_get;
 
        ret = clk_prepare_enable(dev->clk_ahb);
        if (ret)
@@ -2692,9 +2692,8 @@ err_ctx_init:
        clk_disable_unprepare(dev->clk_ahb);
 err_clk_ahb:
        clk_disable_unprepare(dev->clk_per);
-err_clk_per:
-       pm_runtime_put_sync(dev->dev);
 err_pm_get:
+       pm_runtime_put_sync(dev->dev);
        v4l2_fh_del(&ctx->fh);
        v4l2_fh_exit(&ctx->fh);
 err_coda_name_init: