[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>
This commit is contained in:

committed by
Jaroslav Kysela

parent
01f681da49
commit
437a5a4606
@@ -1195,7 +1195,7 @@ static int snd_sonicvibes_free(struct sonicvibes *sonic)
|
||||
pci_write_config_dword(sonic->pci, 0x40, sonic->dmaa_port);
|
||||
pci_write_config_dword(sonic->pci, 0x48, sonic->dmac_port);
|
||||
if (sonic->irq >= 0)
|
||||
free_irq(sonic->irq, (void *)sonic);
|
||||
free_irq(sonic->irq, sonic);
|
||||
release_and_free_resource(sonic->res_dmaa);
|
||||
release_and_free_resource(sonic->res_dmac);
|
||||
pci_release_regions(sonic->pci);
|
||||
@@ -1257,7 +1257,8 @@ static int __devinit snd_sonicvibes_create(struct snd_card *card,
|
||||
sonic->midi_port = pci_resource_start(pci, 3);
|
||||
sonic->game_port = pci_resource_start(pci, 4);
|
||||
|
||||
if (request_irq(pci->irq, snd_sonicvibes_interrupt, IRQF_DISABLED|IRQF_SHARED, "S3 SonicVibes", (void *)sonic)) {
|
||||
if (request_irq(pci->irq, snd_sonicvibes_interrupt, IRQF_SHARED,
|
||||
"S3 SonicVibes", sonic)) {
|
||||
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
|
||||
snd_sonicvibes_free(sonic);
|
||||
return -EBUSY;
|
||||
|
Reference in New Issue
Block a user