aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/trident
diff options
context:
space:
mode:
authorJon Mason <jdmason@us.ibm.com>2006-01-13 13:14:53 +0100
committerJaroslav Kysela <perex@suse.cz>2006-01-22 16:24:18 +0100
commite3183ec9cd98db7800d078768b1c9edc2fd0425f (patch)
tree7ccac5fc51c86978bc060ac18ddf5af1b6c77ac8 /sound/pci/trident
parent33159378254b67d0080a8d63197e95654b672cf7 (diff)
downloadkernel_samsung_smdk4412-e3183ec9cd98db7800d078768b1c9edc2fd0425f.zip
kernel_samsung_smdk4412-e3183ec9cd98db7800d078768b1c9edc2fd0425f.tar.gz
kernel_samsung_smdk4412-e3183ec9cd98db7800d078768b1c9edc2fd0425f.tar.bz2
[ALSA] Prevent ALSA trident driver from grabbing pcnet32 hardware
Modules: Trident driver 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. Per Jiri Slaby's request, I changed the trident driver to use PCI_DEVICE macro and PCI ID #defines. This patch is untested on Trident 4DWAVE_DX hardware, but has been tested on pcnet32 hardware. Signed-off-by: Jon Mason <jdmason@us.ibm.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/trident')
-rw-r--r--sound/pci/trident/trident.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sound/pci/trident/trident.c b/sound/pci/trident/trident.c
index 2b21df1..b453804 100644
--- a/sound/pci/trident/trident.c
+++ b/sound/pci/trident/trident.c
@@ -64,9 +64,11 @@ module_param_array(wavetable_size, int, NULL, 0444);
MODULE_PARM_DESC(wavetable_size, "Maximum memory size in kB for wavetable synth.");
static struct pci_device_id snd_trident_ids[] = {
- { 0x1023, 0x2000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* Trident 4DWave DX PCI Audio */
- { 0x1023, 0x2001, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* Trident 4DWave NX PCI Audio */
- { 0x1039, 0x7018, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* SiS SI7018 PCI Audio */
+ {PCI_DEVICE(PCI_VENDOR_ID_TRIDENT, PCI_DEVICE_ID_TRIDENT_4DWAVE_DX),
+ PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0},
+ {PCI_DEVICE(PCI_VENDOR_ID_TRIDENT, PCI_DEVICE_ID_TRIDENT_4DWAVE_NX),
+ 0, 0, 0},
+ {PCI_DEVICE(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_7018), 0, 0, 0},
{ 0, }
};