Avoid returning without decrement the usage count in s_ctrl().

Cc: Wenyou Yang <[email protected]>
Cc: Eugen Hristev <[email protected]>
Cc: Sakari Ailus <[email protected]>
Cc: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Akinobu Mita <[email protected]>
---
 drivers/media/i2c/ov7740.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/media/i2c/ov7740.c b/drivers/media/i2c/ov7740.c
index 54e80a6..d122e35 100644
--- a/drivers/media/i2c/ov7740.c
+++ b/drivers/media/i2c/ov7740.c
@@ -561,16 +561,16 @@ static int ov7740_set_ctrl(struct v4l2_ctrl *ctrl)
                break;
        case V4L2_CID_AUTOGAIN:
                if (!ctrl->val)
-                       return ov7740_set_gain(regmap, ov7740->gain->val);
-
-               ret = ov7740_set_autogain(regmap, ctrl->val);
+                       ret = ov7740_set_gain(regmap, ov7740->gain->val);
+               else
+                       ret = ov7740_set_autogain(regmap, ctrl->val);
                break;
 
        case V4L2_CID_EXPOSURE_AUTO:
                if (ctrl->val == V4L2_EXPOSURE_MANUAL)
-                       return ov7740_set_exp(regmap, ov7740->exposure->val);
-
-               ret = ov7740_set_autoexp(regmap, ctrl->val);
+                       ret = ov7740_set_exp(regmap, ov7740->exposure->val);
+               else
+                       ret = ov7740_set_autoexp(regmap, ctrl->val);
                break;
        default:
                ret = -EINVAL;
-- 
2.7.4

Reply via email to