瀏覽代碼

ALSA: au88x0: fix wrong period_elapsed() call

The period_elapsed() call should be called when position moves.

The idea was taken from ALSA bug#4455.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jaroslav Kysela 16 年之前
父節點
當前提交
e9ab33d03e
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      sound/pci/au88x0/au88x0_core.c

+ 2 - 1
sound/pci/au88x0/au88x0_core.c

@@ -2440,7 +2440,8 @@ static irqreturn_t vortex_interrupt(int irq, void *dev_id)
 		spin_lock(&vortex->lock);
 		for (i = 0; i < NR_ADB; i++) {
 			if (vortex->dma_adb[i].fifo_status == FIFO_START) {
-				if (vortex_adbdma_bufshift(vortex, i)) ;
+				if (!vortex_adbdma_bufshift(vortex, i))
+					continue;
 				spin_unlock(&vortex->lock);
 				snd_pcm_period_elapsed(vortex->dma_adb[i].
 						       substream);