]> err.no Git - linux-2.6/commitdiff
V4L/DVB (4723): Bugfix: Select the correct cx8802_dev when enumerating by CX88_MPEG_type
authorSteven Toth <stoth@hauppauge.com>
Fri, 6 Oct 2006 00:28:24 +0000 (21:28 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Sun, 10 Dec 2006 10:50:48 +0000 (08:50 -0200)
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>
drivers/media/video/cx88/cx88-mpeg.c

index 6f155713ee0251ea7e693ef21a15929efb674089..3d8e6d74e064744c91060129a27f6859846a8761 100644 (file)
@@ -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);