Message ID | 20190526204758.1904-2-jmkrzyszt@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: ov6650: V4L2 subdev compliance fixes | expand |
diff --git a/drivers/media/i2c/ov6650.c b/drivers/media/i2c/ov6650.c index c728f718716b..1b02479b616f 100644 --- a/drivers/media/i2c/ov6650.c +++ b/drivers/media/i2c/ov6650.c @@ -484,6 +484,10 @@ static int ov6650_set_selection(struct v4l2_subdev *sd, sel->target != V4L2_SEL_TGT_CROP) return -EINVAL; + /* No support for changing crop rectangle with frame size preserved */ + if (sel->flags & V4L2_SEL_FLAG_KEEP_CONFIG) + return ov6650_get_selection(sd, cfg, sel); + v4l_bound_align_image(&sel->r.width, 2, W_CIF, 1, &sel->r.height, 2, H_CIF, 1, 0); v4l_bound_align_image(&sel->r.left, DEF_HSTRT << 1,
This flag is now ignored - output frame size is affected by new crop settings regardless of the flag value. Fix it. Since keeping output frame size untouched while applying new crop settings is not supported, simply return results of .get_selection() if V4L2_SEL_FLAG_KEEP_CONFIG is passed to .set_selection(). Signed-off-by: Janusz Krzysztofik <jmkrzyszt@gmail.com> --- drivers/media/i2c/ov6650.c | 4 ++++ 1 file changed, 4 insertions(+)