mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-04 00:15:49 -04:00
media: adv7842: remove spurious & and fix vga_edid size
No need to use & to get the start address of an array. Fix the size of vga_edid.edid to a single block (128 bytes) to fix this smatch error: adv7842.c:2538 adv7842_set_edid() error: memcpy() '&state->vga_edid.edid' too small (128 vs 512) Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
00ae4ebc2d
commit
7629cbd687
@@ -2531,20 +2531,20 @@ static int adv7842_set_edid(struct v4l2_subdev *sd, struct v4l2_edid *e)
|
||||
|
||||
switch (e->pad) {
|
||||
case ADV7842_EDID_PORT_VGA:
|
||||
memset(&state->vga_edid.edid, 0, sizeof(state->vga_edid.edid));
|
||||
memset(state->vga_edid.edid, 0, sizeof(state->vga_edid.edid));
|
||||
state->vga_edid.blocks = e->blocks;
|
||||
state->vga_edid.present = e->blocks ? 0x1 : 0x0;
|
||||
if (e->blocks)
|
||||
memcpy(&state->vga_edid.edid, e->edid, 128 * e->blocks);
|
||||
memcpy(state->vga_edid.edid, e->edid, 128);
|
||||
err = edid_write_vga_segment(sd);
|
||||
break;
|
||||
case ADV7842_EDID_PORT_A:
|
||||
case ADV7842_EDID_PORT_B:
|
||||
memset(&state->hdmi_edid.edid, 0, sizeof(state->hdmi_edid.edid));
|
||||
memset(state->hdmi_edid.edid, 0, sizeof(state->hdmi_edid.edid));
|
||||
state->hdmi_edid.blocks = e->blocks;
|
||||
if (e->blocks) {
|
||||
state->hdmi_edid.present |= 0x04 << e->pad;
|
||||
memcpy(&state->hdmi_edid.edid, e->edid, 128 * e->blocks);
|
||||
memcpy(state->hdmi_edid.edid, e->edid, 128 * e->blocks);
|
||||
} else {
|
||||
state->hdmi_edid.present &= ~(0x04 << e->pad);
|
||||
adv7842_s_detect_tx_5v_ctrl(sd);
|
||||
|
||||
Reference in New Issue
Block a user