Staging: comedi: s626: use subvendor:subdevice ids for SAA7146 board
authorHerton Ronaldo Krzesinski <herton@mandriva.com.br>
Thu, 18 Jun 2009 17:43:56 +0000 (14:43 -0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 12 Jul 2009 20:21:45 +0000 (13:21 -0700)
commit8231eb5672e7a020174eb7ce0436766eea57cae8
tree1edf130c4fe74a4a2c10f8dfc7e50567612667fb
parent91fca6da389b897483b4c1edea29885172989fda
Staging: comedi: s626: use subvendor:subdevice ids for SAA7146 board

The current s626 comedi driver in staging conflicts with philips SAA7146
media/dvb based cards, because it claims the same vendor:device pci id
for all subdevice/subvendor ids. What happens is that for people that have a
philips SAA7146 media/dvb based card, s626 if available gets loaded by udev
and makes system freeze (https://qa.mandriva.com/show_bug.cgi?id=51445).

The s626 driver shouldn't claim all 1131:7146 devices. Fix this by
specifying specific known subvendor:subdevice ids in its pci id table
list.

Also s626_attach is modified to use now pci_get_subsys instead of
pci_get_device as reported by Ian Abbott, and now we loop over pci id
table entries in case more ids are added in the future.

Reference: http://lkml.org/lkml/2009/6/16/552

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/comedi/drivers/s626.c