62359bbaa8d9288ddbfc122e73a1ca8d54642ebf
[openwrt/staging/blogic.git] /
1 From 4ff8008e5a3f2d6dc1fa669f6cebb5f8b88e875b Mon Sep 17 00:00:00 2001
2 From: Dave Stevenson <dave.stevenson@raspberrypi.com>
3 Date: Tue, 7 Jul 2020 14:52:43 +0100
4 Subject: [PATCH] media: bcm2835-unicam: Ensure type is VIDEO_CAPTURE
5 in [g|s]_selection
6
7 [g|s]_selection pass in a buffer type that needs to be validated
8 before passing on to the sensor subdev.
9
10 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
11 ---
12 drivers/media/platform/bcm2835/bcm2835-unicam.c | 6 ++++++
13 1 file changed, 6 insertions(+)
14
15 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c
16 +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c
17 @@ -1885,6 +1885,9 @@ static int unicam_s_selection(struct fil
18 .r = sel->r,
19 };
20
21 + if (sel->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
22 + return -EINVAL;
23 +
24 return v4l2_subdev_call(dev->sensor, pad, set_selection, NULL, &sdsel);
25 }
26
27 @@ -1899,6 +1902,9 @@ static int unicam_g_selection(struct fil
28 };
29 int ret;
30
31 + if (sel->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
32 + return -EINVAL;
33 +
34 ret = v4l2_subdev_call(dev->sensor, pad, get_selection, NULL, &sdsel);
35 if (!ret)
36 sel->r = sdsel.r;