]>
Commit | Line | Data |
---|---|---|
905f85a8 GKH |
1 | From ed356f110403f6acc64dcbbbfdc38662ab9b06c2 Mon Sep 17 00:00:00 2001 |
2 | From: Hans Verkuil <hverkuil@xs4all.nl> | |
3 | Date: Mon, 12 Feb 2018 06:45:32 -0500 | |
4 | Subject: media: vivid: check if the cec_adapter is valid | |
5 | ||
6 | From: Hans Verkuil <hverkuil@xs4all.nl> | |
7 | ||
8 | commit ed356f110403f6acc64dcbbbfdc38662ab9b06c2 upstream. | |
9 | ||
10 | If CEC is not enabled for the vivid driver, then the adap pointer is NULL | |
11 | and 'adap->phys_addr' will fail. | |
12 | ||
13 | Cc: <stable@vger.kernel.org> # for v4.12 and up | |
14 | Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> | |
15 | Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> | |
16 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
17 | ||
18 | --- | |
19 | drivers/media/platform/vivid/vivid-vid-common.c | 3 ++- | |
20 | 1 file changed, 2 insertions(+), 1 deletion(-) | |
21 | ||
22 | --- a/drivers/media/platform/vivid/vivid-vid-common.c | |
23 | +++ b/drivers/media/platform/vivid/vivid-vid-common.c | |
24 | @@ -874,7 +874,8 @@ int vidioc_g_edid(struct file *file, voi | |
25 | return -EINVAL; | |
26 | if (edid->start_block + edid->blocks > dev->edid_blocks) | |
27 | edid->blocks = dev->edid_blocks - edid->start_block; | |
28 | - cec_set_edid_phys_addr(dev->edid, dev->edid_blocks * 128, adap->phys_addr); | |
29 | + if (adap) | |
30 | + cec_set_edid_phys_addr(dev->edid, dev->edid_blocks * 128, adap->phys_addr); | |
31 | memcpy(edid->edid, dev->edid + edid->start_block * 128, edid->blocks * 128); | |
32 | return 0; | |
33 | } |