media: i2c: ov5670: Fix PIXEL_RATE minimum value
authorJacopo Mondi <jacopo@jmondi.org>
Mon, 21 Dec 2020 17:52:20 +0000 (18:52 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Mar 2021 17:22:41 +0000 (18:22 +0100)
[ Upstream commit dc1eb7c9c290cba52937c9a224b22a400bb0ffd7 ]

The driver currently reports a single supported value for
V4L2_CID_PIXEL_RATE and initializes the control's minimum value to 0,
which is very risky, as userspace might accidentally use it as divider
when calculating the time duration of a line.

Fix this by using as minimum the only supported value when registering
the control.

Fixes: 5de35c9b8dcd1 ("media: i2c: Add Omnivision OV5670 5M sensor support")
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/i2c/ov5670.c

index 6f7a1d6d220050c3fc1e1a27442db90cd1ffdfb8..e3e8ba7b171695264b9dbdcff855609ce4d7518a 100644 (file)
@@ -2073,7 +2073,8 @@ static int ov5670_init_controls(struct ov5670 *ov5670)
 
        /* By default, V4L2_CID_PIXEL_RATE is read only */
        ov5670->pixel_rate = v4l2_ctrl_new_std(ctrl_hdlr, &ov5670_ctrl_ops,
-                                              V4L2_CID_PIXEL_RATE, 0,
+                                              V4L2_CID_PIXEL_RATE,
+                                              link_freq_configs[0].pixel_rate,
                                               link_freq_configs[0].pixel_rate,
                                               1,
                                               link_freq_configs[0].pixel_rate);