[PATCH] media: platform: s3c-camif: Fix runtime PM imbalance in s3c_camif_open

From: Dinghao Liu
Date: Fri May 22 2020 - 04:29:27 EST


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.

Also, call pm_runtime_put() and v4l2_fh_release() when sensor_set_power()
returns an error code.

Signed-off-by: Dinghao Liu <dinghao.liu@xxxxxxxxxx>
---
drivers/media/platform/s3c-camif/camif-capture.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/media/platform/s3c-camif/camif-capture.c b/drivers/media/platform/s3c-camif/camif-capture.c
index 9ca49af29542..d42d9cfaf674 100644
--- a/drivers/media/platform/s3c-camif/camif-capture.c
+++ b/drivers/media/platform/s3c-camif/camif-capture.c
@@ -552,11 +552,9 @@ static int s3c_camif_open(struct file *file)
goto err_pm;

ret = sensor_set_power(camif, 1);
- if (!ret)
- goto unlock;

- pm_runtime_put(camif->dev);
err_pm:
+ pm_runtime_put(camif->dev);
v4l2_fh_release(file);
unlock:
mutex_unlock(&camif->lock);
--
2.17.1