summaryrefslogtreecommitdiffstats
path: root/sound/pci/au88x0
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2009-05-28 14:20:00 +0200
committerTakashi Iwai <tiwai@suse.de>2009-05-29 08:15:59 +0200
commite9ab33d03eb721a632214c0bbaa18652de88aa2d (patch)
tree5ea3bec561ab214c40bb7652c9f08045d7dbc892 /sound/pci/au88x0
parent3fd43858c7937801134bd70ef1d411e44f9c0c1c (diff)
downloadlinux-e9ab33d03eb721a632214c0bbaa18652de88aa2d.tar.gz
linux-e9ab33d03eb721a632214c0bbaa18652de88aa2d.tar.xz
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>
Diffstat (limited to 'sound/pci/au88x0')
-rw-r--r--sound/pci/au88x0/au88x0_core.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/pci/au88x0/au88x0_core.c b/sound/pci/au88x0/au88x0_core.c
index f84bb19c7fdd..23f49f356e0f 100644
--- a/sound/pci/au88x0/au88x0_core.c
+++ b/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);