aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDinghao Liu <[email protected]>2020-05-21 14:06:21 +0200
committerMauro Carvalho Chehab <[email protected]>2020-06-23 13:19:59 +0200
commit606578801afe6ec8bb03f5d494a4bae49a684ef3 (patch)
tree48331ef1ec6955e6b07398968c08e0eef622e7ed
parentcf7b1c794d2f2362610143375b4156111e35aed5 (diff)
media: camss: ispif: Fix runtime PM imbalance on error
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 <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
-rw-r--r--drivers/media/platform/qcom/camss/camss-ispif.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/media/platform/qcom/camss/camss-ispif.c b/drivers/media/platform/qcom/camss/camss-ispif.c
index 1f33b4eb198c..5722e971b184 100644
--- a/drivers/media/platform/qcom/camss/camss-ispif.c
+++ b/drivers/media/platform/qcom/camss/camss-ispif.c
@@ -344,8 +344,10 @@ static int ispif_set_power(struct v4l2_subdev *sd, int on)
}
ret = pm_runtime_get_sync(dev);
- if (ret < 0)
+ if (ret < 0) {
+ pm_runtime_put_sync(dev);
goto exit;
+ }
ret = camss_enable_clocks(ispif->nclocks, ispif->clock, dev);
if (ret < 0) {