提交 f057131f 编写于 作者: J Jelle Foks 提交者: Mauro Carvalho Chehab

V4L/DVB (5816): Cx88-blackbird: fix vidioc_g_tuner never ending list of tuners

v4l-info and other programs would loop indefinitely while querying the
tuners for cx88-blackbird cards.

The cause was that vidioc_g_tuner didn't return an error value for
qctrl->id != 0, making the application think there is a never ending
list of tuners...

This patch adds the same index check as done in vidioc_g_tuner() in
cx88-video.
Signed-off-by: NJelle Foks <jelle@foks.8m.com>
Signed-off-by: NMichael Krufky <mkrufky@linuxtv.org>
Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
上级 333408f2
...@@ -1034,6 +1034,8 @@ static int vidioc_g_tuner (struct file *file, void *priv, ...@@ -1034,6 +1034,8 @@ static int vidioc_g_tuner (struct file *file, void *priv,
if (unlikely(UNSET == core->tuner_type)) if (unlikely(UNSET == core->tuner_type))
return -EINVAL; return -EINVAL;
if (0 != t->index)
return -EINVAL;
strcpy(t->name, "Television"); strcpy(t->name, "Television");
t->type = V4L2_TUNER_ANALOG_TV; t->type = V4L2_TUNER_ANALOG_TV;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册