aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/sonicvibes.c
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/sonicvibes.c
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/sonicvibes.c')
-rw-r--r--sound/pci/sonicvibes.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/pci/sonicvibes.c b/sound/pci/sonicvibes.c
index f9b8afabda9c..9f25d93cbec2 100644
--- a/sound/pci/sonicvibes.c
+++ b/sound/pci/sonicvibes.c
@@ -1195,7 +1195,7 @@ static int snd_sonicvibes_free(struct sonicvibes *sonic)
1195 pci_write_config_dword(sonic->pci, 0x40, sonic->dmaa_port); 1195 pci_write_config_dword(sonic->pci, 0x40, sonic->dmaa_port);
1196 pci_write_config_dword(sonic->pci, 0x48, sonic->dmac_port); 1196 pci_write_config_dword(sonic->pci, 0x48, sonic->dmac_port);
1197 if (sonic->irq >= 0) 1197 if (sonic->irq >= 0)
1198 free_irq(sonic->irq, (void *)sonic); 1198 free_irq(sonic->irq, sonic);
1199 release_and_free_resource(sonic->res_dmaa); 1199 release_and_free_resource(sonic->res_dmaa);
1200 release_and_free_resource(sonic->res_dmac); 1200 release_and_free_resource(sonic->res_dmac);
1201 pci_release_regions(sonic->pci); 1201 pci_release_regions(sonic->pci);
@@ -1257,7 +1257,8 @@ static int __devinit snd_sonicvibes_create(struct snd_card *card,
1257 sonic->midi_port = pci_resource_start(pci, 3); 1257 sonic->midi_port = pci_resource_start(pci, 3);
1258 sonic->game_port = pci_resource_start(pci, 4); 1258 sonic->game_port = pci_resource_start(pci, 4);
1259 1259
1260 if (request_irq(pci->irq, snd_sonicvibes_interrupt, IRQF_DISABLED|IRQF_SHARED, "S3 SonicVibes", (void *)sonic)) { 1260 if (request_irq(pci->irq, snd_sonicvibes_interrupt, IRQF_SHARED,
1261 "S3 SonicVibes", sonic)) {
1261 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1262 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1262 snd_sonicvibes_free(sonic); 1263 snd_sonicvibes_free(sonic);
1263 return -EBUSY; 1264 return -EBUSY;