[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
@@ -858,7 +858,7 @@ snd_ad1889_free(struct snd_ad1889 *chip)
|
||||
synchronize_irq(chip->irq);
|
||||
|
||||
if (chip->irq >= 0)
|
||||
free_irq(chip->irq, (void*)chip);
|
||||
free_irq(chip->irq, chip);
|
||||
|
||||
skip_hw:
|
||||
if (chip->iobase)
|
||||
@@ -945,7 +945,7 @@ snd_ad1889_create(struct snd_card *card,
|
||||
spin_lock_init(&chip->lock); /* only now can we call ad1889_free */
|
||||
|
||||
if (request_irq(pci->irq, snd_ad1889_interrupt,
|
||||
IRQF_DISABLED|IRQF_SHARED, card->driver, (void*)chip)) {
|
||||
IRQF_SHARED, card->driver, chip)) {
|
||||
printk(KERN_ERR PFX "cannot obtain IRQ %d\n", pci->irq);
|
||||
snd_ad1889_free(chip);
|
||||
return -EBUSY;
|
||||
|
Reference in New Issue
Block a user