diff options
author | Takashi Iwai <tiwai@suse.de> | 2006-11-21 06:14:23 -0500 |
---|---|---|
committer | Jaroslav Kysela <perex@server.perex.cz> | 2006-12-20 02:55:57 -0500 |
commit | 437a5a4606c12ab904793a7cad5b2062fc76c04e (patch) | |
tree | 57a8b320f931ddd29ecc5933d7f6acc68dc35ef7 /sound/pci/ca0106/ca0106_main.c | |
parent | 01f681da496831eb3aff5a908cefdafe74dd263b (diff) |
[ALSA] Remove IRQF_DISABLED for shared PCI irqs
Fix IRQ flags for PCI devices.
The shared IRQs for PCI devices shouldn't be allocated with
IRQF_DISABLED. Also, when MSI is enabled, IRQF_SHARED shouldn't
be used.
The patch removes unnecessary cast in request_irq and free_irq,
too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/pci/ca0106/ca0106_main.c')
-rw-r--r-- | sound/pci/ca0106/ca0106_main.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sound/pci/ca0106/ca0106_main.c b/sound/pci/ca0106/ca0106_main.c index 2adbd003851d..35ac187cab66 100644 --- a/sound/pci/ca0106/ca0106_main.c +++ b/sound/pci/ca0106/ca0106_main.c | |||
@@ -1046,7 +1046,7 @@ static int snd_ca0106_free(struct snd_ca0106 *chip) | |||
1046 | 1046 | ||
1047 | // release the irq | 1047 | // release the irq |
1048 | if (chip->irq >= 0) | 1048 | if (chip->irq >= 0) |
1049 | free_irq(chip->irq, (void *)chip); | 1049 | free_irq(chip->irq, chip); |
1050 | pci_disable_device(chip->pci); | 1050 | pci_disable_device(chip->pci); |
1051 | kfree(chip); | 1051 | kfree(chip); |
1052 | return 0; | 1052 | return 0; |
@@ -1267,8 +1267,7 @@ static int __devinit snd_ca0106_create(struct snd_card *card, | |||
1267 | } | 1267 | } |
1268 | 1268 | ||
1269 | if (request_irq(pci->irq, snd_ca0106_interrupt, | 1269 | if (request_irq(pci->irq, snd_ca0106_interrupt, |
1270 | IRQF_DISABLED|IRQF_SHARED, "snd_ca0106", | 1270 | IRQF_SHARED, "snd_ca0106", chip)) { |
1271 | (void *)chip)) { | ||
1272 | snd_ca0106_free(chip); | 1271 | snd_ca0106_free(chip); |
1273 | printk(KERN_ERR "cannot grab irq\n"); | 1272 | printk(KERN_ERR "cannot grab irq\n"); |
1274 | return -EBUSY; | 1273 | return -EBUSY; |