浏览代码

V4L/DVB (4723): Bugfix: Select the correct cx8802_dev when enumerating by CX88_MPEG_type

A bug in cx8802_get_driver() meant that in multiboard environments, when testing
frontends on the non primary board, the incorrect device was returned resulting
in "Unsupported value in .mpeg.." messages. Depending on the electrical design
of the hardware (serial, parallel, rising/falling edge detect), transport would
still be delivered and the problem went unnoticed.
This patch ensures the correct instance of cx8802_dev is returned.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Steven Toth 18 年之前
父节点
当前提交
7343826370
共有 1 个文件被更改,包括 2 次插入0 次删除
  1. 2 0
      drivers/media/video/cx88/cx88-mpeg.c

+ 2 - 0
drivers/media/video/cx88/cx88-mpeg.c

@@ -572,6 +572,8 @@ struct cx8802_driver * cx8802_get_driver(struct cx8802_dev *dev, enum cx88_board
 
 	list_for_each(list,&cx8802_devlist) {
 		h = list_entry(list, struct cx8802_dev, devlist);
+		if (h != dev)
+			continue;
 
 		list_for_each(list2, &h->drvlist.devlist) {
 			d = list_entry(list2, struct cx8802_driver, devlist);