[PATCH] Prevent trident driver from grabbing pcnet32 hardware

Jon Mason
2006-01-12T17:51:10Z

Some pcnet32 hardware erroneously has the Vendor ID for Trident. The
pcnet32 driver looks for the PCI ethernet class before grabbing the
hardware, but the current trident driver does not check against the
PCI audio class. This allows the trident driver to claim the pcnet32
hardware. This patch prevents that.

This patch is untested on Trident 4DWAVE_DX hardware, but has been
tested on pcnet32 hardware.

Thanks,
Jon

Signed-off-by: Jon Mason <jdmason@us.ibm.com>

diff -r 4a7597b41d25 sound/oss/trident.c
--- a/sound/oss/trident.c Wed Jan 11 19:14:08 2006
+++ b/sound/oss/trident.c Thu Jan 12 11:32:26 2006
@@ -279,7 +279,8 @@

static struct pci_device_id trident_pci_tbl[] = {
{PCI_VENDOR_ID_TRIDENT, PCI_DEVICE_ID_TRIDENT_4DWAVE_DX,
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, TRIDENT_4D_DX},
+ PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00,
+ TRIDENT_4D_DX},
{PCI_VENDOR_ID_TRIDENT, PCI_DEVICE_ID_TRIDENT_4DWAVE_NX,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, TRIDENT_4D_NX},
{PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_7018,