[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
@@ -2462,7 +2462,7 @@ static int snd_es1968_free(struct es1968 *chip)
|
||||
}
|
||||
|
||||
if (chip->irq >= 0)
|
||||
free_irq(chip->irq, (void *)chip);
|
||||
free_irq(chip->irq, chip);
|
||||
snd_es1968_free_gameport(chip);
|
||||
chip->master_switch = NULL;
|
||||
chip->master_volume = NULL;
|
||||
@@ -2552,8 +2552,8 @@ static int __devinit snd_es1968_create(struct snd_card *card,
|
||||
return err;
|
||||
}
|
||||
chip->io_port = pci_resource_start(pci, 0);
|
||||
if (request_irq(pci->irq, snd_es1968_interrupt, IRQF_DISABLED|IRQF_SHARED,
|
||||
"ESS Maestro", (void*)chip)) {
|
||||
if (request_irq(pci->irq, snd_es1968_interrupt, IRQF_SHARED,
|
||||
"ESS Maestro", chip)) {
|
||||
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
|
||||
snd_es1968_free(chip);
|
||||
return -EBUSY;
|
||||
|
Reference in New Issue
Block a user