The driver invokes snd_pcm_period_elapsed() simply from the interrupt handler. Set card->sync_irq for enabling the missing sync_stop PCM operation, as well as removing the superfluous synchronize_irq() call.
Signed-off-by: Takashi Iwai tiwai@suse.de --- sound/pci/lola/lola.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/pci/lola/lola.c b/sound/pci/lola/lola.c index 21ac9d003e8e..e7c620caa935 100644 --- a/sound/pci/lola/lola.c +++ b/sound/pci/lola/lola.c @@ -638,7 +638,7 @@ static int lola_create(struct snd_card *card, struct pci_dev *pci, goto errout; } chip->irq = pci->irq; - synchronize_irq(chip->irq); + card->sync_irq = chip->irq;
dever = lola_readl(chip, BAR1, DEVER); chip->pcm[CAPT].num_streams = (dever >> 0) & 0x3ff;