diff options
author | Hans Verkuil <hans.verkuil@cisco.com> | 2012-09-05 09:38:10 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-10-01 16:12:51 -0400 |
commit | 30634e8e41d413b0084ba29f843361a1fd9fbdce (patch) | |
tree | 0712b67462e242c926502ff697beed75b6f078d6 /drivers/media/i2c | |
parent | 34a6b7d093d8fe738ada191b36648d00bc18b7eb (diff) |
[media] sliced vbi: subdevs shouldn't clear the full v4l2_sliced_vbi_format struct
Various subdevs cleared the full v4l2_sliced_vbi_format struct, when
only the service_set/lines fields should have been cleared.
Due to this the io_size field was wrongly cleared to 0, causing a
v4l2-compliance error.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/i2c')
-rw-r--r-- | drivers/media/i2c/cx25840/cx25840-vbi.c | 3 | ||||
-rw-r--r-- | drivers/media/i2c/saa7115.c | 3 | ||||
-rw-r--r-- | drivers/media/i2c/saa7127.c | 2 | ||||
-rw-r--r-- | drivers/media/i2c/tvp5150.c | 2 |
4 files changed, 6 insertions, 4 deletions
diff --git a/drivers/media/i2c/cx25840/cx25840-vbi.c b/drivers/media/i2c/cx25840/cx25840-vbi.c index 64a4004f8a97..c39e91dc1137 100644 --- a/drivers/media/i2c/cx25840/cx25840-vbi.c +++ b/drivers/media/i2c/cx25840/cx25840-vbi.c | |||
@@ -96,7 +96,8 @@ int cx25840_g_sliced_fmt(struct v4l2_subdev *sd, struct v4l2_sliced_vbi_format * | |||
96 | int is_pal = !(state->std & V4L2_STD_525_60); | 96 | int is_pal = !(state->std & V4L2_STD_525_60); |
97 | int i; | 97 | int i; |
98 | 98 | ||
99 | memset(svbi, 0, sizeof(*svbi)); | 99 | memset(svbi->service_lines, 0, sizeof(svbi->service_lines)); |
100 | svbi->service_set = 0; | ||
100 | /* we're done if raw VBI is active */ | 101 | /* we're done if raw VBI is active */ |
101 | if ((cx25840_read(client, 0x404) & 0x10) == 0) | 102 | if ((cx25840_read(client, 0x404) & 0x10) == 0) |
102 | return 0; | 103 | return 0; |
diff --git a/drivers/media/i2c/saa7115.c b/drivers/media/i2c/saa7115.c index 2107336cd836..6b6788cd08f6 100644 --- a/drivers/media/i2c/saa7115.c +++ b/drivers/media/i2c/saa7115.c | |||
@@ -1066,7 +1066,8 @@ static int saa711x_g_sliced_fmt(struct v4l2_subdev *sd, struct v4l2_sliced_vbi_f | |||
1066 | }; | 1066 | }; |
1067 | int i; | 1067 | int i; |
1068 | 1068 | ||
1069 | memset(sliced, 0, sizeof(*sliced)); | 1069 | memset(sliced->service_lines, 0, sizeof(sliced->service_lines)); |
1070 | sliced->service_set = 0; | ||
1070 | /* done if using raw VBI */ | 1071 | /* done if using raw VBI */ |
1071 | if (saa711x_read(sd, R_80_GLOBAL_CNTL_1) & 0x10) | 1072 | if (saa711x_read(sd, R_80_GLOBAL_CNTL_1) & 0x10) |
1072 | return 0; | 1073 | return 0; |
diff --git a/drivers/media/i2c/saa7127.c b/drivers/media/i2c/saa7127.c index 8ecb6564a315..b745f68fbc92 100644 --- a/drivers/media/i2c/saa7127.c +++ b/drivers/media/i2c/saa7127.c | |||
@@ -625,7 +625,7 @@ static int saa7127_g_sliced_fmt(struct v4l2_subdev *sd, struct v4l2_sliced_vbi_f | |||
625 | { | 625 | { |
626 | struct saa7127_state *state = to_state(sd); | 626 | struct saa7127_state *state = to_state(sd); |
627 | 627 | ||
628 | memset(fmt, 0, sizeof(*fmt)); | 628 | memset(fmt->service_lines, 0, sizeof(fmt->service_lines)); |
629 | if (state->vps_enable) | 629 | if (state->vps_enable) |
630 | fmt->service_lines[0][16] = V4L2_SLICED_VPS; | 630 | fmt->service_lines[0][16] = V4L2_SLICED_VPS; |
631 | if (state->wss_enable) | 631 | if (state->wss_enable) |
diff --git a/drivers/media/i2c/tvp5150.c b/drivers/media/i2c/tvp5150.c index b5b1792479d0..31104a960652 100644 --- a/drivers/media/i2c/tvp5150.c +++ b/drivers/media/i2c/tvp5150.c | |||
@@ -1020,7 +1020,7 @@ static int tvp5150_g_sliced_fmt(struct v4l2_subdev *sd, struct v4l2_sliced_vbi_f | |||
1020 | { | 1020 | { |
1021 | int i, mask = 0; | 1021 | int i, mask = 0; |
1022 | 1022 | ||
1023 | memset(svbi, 0, sizeof(*svbi)); | 1023 | memset(svbi->service_lines, 0, sizeof(svbi->service_lines)); |
1024 | 1024 | ||
1025 | for (i = 0; i <= 23; i++) { | 1025 | for (i = 0; i <= 23; i++) { |
1026 | svbi->service_lines[0][i] = | 1026 | svbi->service_lines[0][i] = |