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....@zju.edu.cn>
---
 drivers/media/platform/coda/coda-common.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/media/platform/coda/coda-common.c 
b/drivers/media/platform/coda/coda-common.c
index d0d093dd8f7c..a527e4dc922c 100644
--- a/drivers/media/platform/coda/coda-common.c
+++ b/drivers/media/platform/coda/coda-common.c
@@ -2502,7 +2502,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)
@@ -2541,9 +2541,8 @@ static int coda_open(struct file *file)
        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:
-- 
2.17.1

Reply via email to