summaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2015-11-30 13:19:41 +0100
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-12-18 16:33:22 +0100
commit499ebed3ec3854687ccf160d0f262191be990720 (patch)
tree844156476c27ae5cdb893d12ad45f0d93376adf8 /drivers/media
parent[media] cx25840: more cx23888 register address changes (diff)
downloadlinux-499ebed3ec3854687ccf160d0f262191be990720.tar.xz
linux-499ebed3ec3854687ccf160d0f262191be990720.zip
[media] cx25840: relax a Vsrc check
The cx23888 reports a slightly different Vsrc value than the other chip variants do. Relax the check by 1, otherwise cx25840_set_fmt() would fail for the cx23888. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/i2c/cx25840/cx25840-core.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/media/i2c/cx25840/cx25840-core.c b/drivers/media/i2c/cx25840/cx25840-core.c
index a741c30a9a0e..d8b5343cb80a 100644
--- a/drivers/media/i2c/cx25840/cx25840-core.c
+++ b/drivers/media/i2c/cx25840/cx25840-core.c
@@ -1390,8 +1390,14 @@ static int cx25840_set_fmt(struct v4l2_subdev *sd,
Vlines = fmt->height + (is_50Hz ? 4 : 7);
+ /*
+ * We keep 1 margin for the Vsrc < Vlines check since the
+ * cx23888 reports a Vsrc of 486 instead of 487 for the NTSC
+ * height. Without that margin the cx23885 fails in this
+ * check.
+ */
if ((fmt->width * 16 < Hsrc) || (Hsrc < fmt->width) ||
- (Vlines * 8 < Vsrc) || (Vsrc < Vlines)) {
+ (Vlines * 8 < Vsrc) || (Vsrc + 1 < Vlines)) {
v4l_err(client, "%dx%d is not a valid size!\n",
fmt->width, fmt->height);
return -ERANGE;