aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/ymfpci
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2006-11-21 06:14:23 -0500
committerJaroslav Kysela <perex@server.perex.cz>2006-12-20 02:55:57 -0500
commit437a5a4606c12ab904793a7cad5b2062fc76c04e (patch)
tree57a8b320f931ddd29ecc5933d7f6acc68dc35ef7 /sound/pci/ymfpci
parent01f681da496831eb3aff5a908cefdafe74dd263b (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/ymfpci')
-rw-r--r--sound/pci/ymfpci/ymfpci_main.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/pci/ymfpci/ymfpci_main.c b/sound/pci/ymfpci/ymfpci_main.c
index 843dcca1d4a5..7881944a1957 100644
--- a/sound/pci/ymfpci/ymfpci_main.c
+++ b/sound/pci/ymfpci/ymfpci_main.c
@@ -2154,7 +2154,7 @@ static int snd_ymfpci_free(struct snd_ymfpci *chip)
2154 snd_dma_free_pages(&chip->work_ptr); 2154 snd_dma_free_pages(&chip->work_ptr);
2155 2155
2156 if (chip->irq >= 0) 2156 if (chip->irq >= 0)
2157 free_irq(chip->irq, (void *)chip); 2157 free_irq(chip->irq, chip);
2158 release_and_free_resource(chip->res_reg_area); 2158 release_and_free_resource(chip->res_reg_area);
2159 2159
2160 pci_write_config_word(chip->pci, 0x40, chip->old_legacy_ctrl); 2160 pci_write_config_word(chip->pci, 0x40, chip->old_legacy_ctrl);
@@ -2301,7 +2301,8 @@ int __devinit snd_ymfpci_create(struct snd_card *card,
2301 snd_ymfpci_free(chip); 2301 snd_ymfpci_free(chip);
2302 return -EBUSY; 2302 return -EBUSY;
2303 } 2303 }
2304 if (request_irq(pci->irq, snd_ymfpci_interrupt, IRQF_DISABLED|IRQF_SHARED, "YMFPCI", (void *) chip)) { 2304 if (request_irq(pci->irq, snd_ymfpci_interrupt, IRQF_SHARED,
2305 "YMFPCI", chip)) {
2305 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2306 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2306 snd_ymfpci_free(chip); 2307 snd_ymfpci_free(chip);
2307 return -EBUSY; 2308 return -EBUSY;