diff options
author | Jaroslav Kysela <perex@perex.cz> | 2009-05-28 12:20:00 (GMT) |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-05-29 06:15:59 (GMT) |
commit | e9ab33d03eb721a632214c0bbaa18652de88aa2d (patch) | |
tree | 5ea3bec561ab214c40bb7652c9f08045d7dbc892 | |
parent | 3fd43858c7937801134bd70ef1d411e44f9c0c1c (diff) | |
download | 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>
-rw-r--r-- | sound/pci/au88x0/au88x0_core.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/pci/au88x0/au88x0_core.c b/sound/pci/au88x0/au88x0_core.c index f84bb19..23f49f3 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); |