V4L/DVB (12518): ov772x: S_CROP must return actually configured geometry
V4L2 drivers are allowed to configure a geometry different than what has been
requested by the user with S_CROP, but then they have to adjust the input
rectangle accordingly. Fix ov772x to comply with this requirement.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/drivers/media/video/ov772x.c b/drivers/media/video/ov772x.c
index c0c549f..b720558 100644
--- a/drivers/media/video/ov772x.c
+++ b/drivers/media/video/ov772x.c
@@ -960,12 +960,18 @@
{
struct i2c_client *client = to_i2c_client(to_soc_camera_control(icd));
struct ov772x_priv *priv = to_ov772x(client);
+ int ret;
if (!priv->fmt)
return -EINVAL;
- return ov772x_set_params(client, &rect->width, &rect->height,
- priv->fmt->fourcc);
+ ret = ov772x_set_params(client, &rect->width, &rect->height,
+ priv->fmt->fourcc);
+ if (!ret) {
+ rect->left = 0;
+ rect->top = 0;
+ }
+ return ret;
}
static int ov772x_s_fmt(struct v4l2_subdev *sd, struct v4l2_format *f)