[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

szülő
01f681da49
commit
437a5a4606
@@ -190,7 +190,7 @@ static int snd_als300_free(struct snd_als300 *chip)
|
||||
snd_als300_dbgcallenter();
|
||||
snd_als300_set_irq_flag(chip, IRQ_DISABLE);
|
||||
if (chip->irq >= 0)
|
||||
free_irq(chip->irq, (void *)chip);
|
||||
free_irq(chip->irq, chip);
|
||||
pci_release_regions(chip->pci);
|
||||
pci_disable_device(chip->pci);
|
||||
kfree(chip);
|
||||
@@ -722,8 +722,8 @@ static int __devinit snd_als300_create(snd_card_t *card,
|
||||
else
|
||||
irq_handler = snd_als300_interrupt;
|
||||
|
||||
if (request_irq(pci->irq, irq_handler, IRQF_DISABLED|IRQF_SHARED,
|
||||
card->shortname, (void *)chip)) {
|
||||
if (request_irq(pci->irq, irq_handler, IRQF_SHARED,
|
||||
card->shortname, chip)) {
|
||||
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
|
||||
snd_als300_free(chip);
|
||||
return -EBUSY;
|
||||
|
Reference in New Issue
Block a user