From: Steven Toth Date: Fri, 6 Oct 2006 00:28:24 +0000 (-0300) Subject: V4L/DVB (4723): Bugfix: Select the correct cx8802_dev when enumerating by CX88_MPEG_type X-Git-Tag: v2.6.20-rc1~145^2~5^2~127 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7343826370dd5fe14a2dcec20968f2d3a4431ce6;p=linux-2.6 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 Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/video/cx88/cx88-mpeg.c b/drivers/media/video/cx88/cx88-mpeg.c index 6f155713ee..3d8e6d74e0 100644 --- a/drivers/media/video/cx88/cx88-mpeg.c +++ b/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);