diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2009-11-27 02:33:25 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-12-15 21:17:53 -0500 |
commit | a3a9e287daa1f299e318161b790b1c5902b1d869 (patch) | |
tree | 1f20db447f28a6346ce9d9fe2ebb0ff3eac65f96 /drivers/media/radio/radio-aimslab.c | |
parent | cda4303f555316930a219cd7c03a1925526145f0 (diff) |
V4L/DVB (13547): radio: add trivial checks on the tuner and type args.
Many radio drivers did not check the tuner and type field correctly
for g/s_frequency. These checks have now been added.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/radio/radio-aimslab.c')
-rw-r--r-- | drivers/media/radio/radio-aimslab.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/radio/radio-aimslab.c b/drivers/media/radio/radio-aimslab.c index 35edee009ba8..5bf4985daede 100644 --- a/drivers/media/radio/radio-aimslab.c +++ b/drivers/media/radio/radio-aimslab.c | |||
@@ -268,6 +268,8 @@ static int vidioc_s_frequency(struct file *file, void *priv, | |||
268 | { | 268 | { |
269 | struct rtrack *rt = video_drvdata(file); | 269 | struct rtrack *rt = video_drvdata(file); |
270 | 270 | ||
271 | if (f->tuner != 0 || f->type != V4L2_TUNER_RADIO) | ||
272 | return -EINVAL; | ||
271 | rt_setfreq(rt, f->frequency); | 273 | rt_setfreq(rt, f->frequency); |
272 | return 0; | 274 | return 0; |
273 | } | 275 | } |
@@ -277,6 +279,8 @@ static int vidioc_g_frequency(struct file *file, void *priv, | |||
277 | { | 279 | { |
278 | struct rtrack *rt = video_drvdata(file); | 280 | struct rtrack *rt = video_drvdata(file); |
279 | 281 | ||
282 | if (f->tuner != 0) | ||
283 | return -EINVAL; | ||
280 | f->type = V4L2_TUNER_RADIO; | 284 | f->type = V4L2_TUNER_RADIO; |
281 | f->frequency = rt->curfreq; | 285 | f->frequency = rt->curfreq; |
282 | return 0; | 286 | return 0; |