aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Mason <jdmason@us.ibm.com>2006-01-18 20:42:25 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-18 22:20:16 -0500
commitc2aeacd48ca2418fbac985a58d2200c263444d65 (patch)
tree3a0087d607c16ad91fe908daa38fe985156539d0
parent35fbd397f0ce2addd5ab889bf0bcd95f45837e3e (diff)
[PATCH] Prevent trident driver from grabbing pcnet32 hardware
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 revised version of the OSS Trident patch includes PCI_DEVICE Macro usage. Signed-off-by: Jon Mason <jdmason@us.ibm.com> Signed-off-by: Muli Ben-Yehuda <mulix@mulix.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--sound/oss/trident.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/sound/oss/trident.c b/sound/oss/trident.c
index 5f0ad6bb43b9..a21c663e7e12 100644
--- a/sound/oss/trident.c
+++ b/sound/oss/trident.c
@@ -278,16 +278,14 @@ static char *card_names[] = {
278}; 278};
279 279
280static struct pci_device_id trident_pci_tbl[] = { 280static struct pci_device_id trident_pci_tbl[] = {
281 {PCI_VENDOR_ID_TRIDENT, PCI_DEVICE_ID_TRIDENT_4DWAVE_DX, 281 {PCI_DEVICE(PCI_VENDOR_ID_TRIDENT, PCI_DEVICE_ID_TRIDENT_4DWAVE_DX),
282 PCI_ANY_ID, PCI_ANY_ID, 0, 0, TRIDENT_4D_DX}, 282 PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, TRIDENT_4D_DX},
283 {PCI_VENDOR_ID_TRIDENT, PCI_DEVICE_ID_TRIDENT_4DWAVE_NX, 283 {PCI_DEVICE(PCI_VENDOR_ID_TRIDENT, PCI_DEVICE_ID_TRIDENT_4DWAVE_NX),
284 PCI_ANY_ID, PCI_ANY_ID, 0, 0, TRIDENT_4D_NX}, 284 0, 0, TRIDENT_4D_NX},
285 {PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_7018, 285 {PCI_DEVICE(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_7018), 0, 0, SIS_7018},
286 PCI_ANY_ID, PCI_ANY_ID, 0, 0, SIS_7018}, 286 {PCI_DEVICE(PCI_VENDOR_ID_ALI, PCI_DEVICE_ID_ALI_5451), 0, 0, ALI_5451},
287 {PCI_VENDOR_ID_ALI, PCI_DEVICE_ID_ALI_5451, 287 {PCI_DEVICE(PCI_VENDOR_ID_INTERG, PCI_DEVICE_ID_INTERG_5050),
288 PCI_ANY_ID, PCI_ANY_ID, 0, 0, ALI_5451}, 288 0, 0, CYBER5050},
289 {PCI_VENDOR_ID_INTERG, PCI_DEVICE_ID_INTERG_5050,
290 PCI_ANY_ID, PCI_ANY_ID, 0, 0, CYBER5050},
291 {0,} 289 {0,}
292}; 290};
293 291