Commit 58a8738c authored by Takashi Iwai's avatar Takashi Iwai

ALSA: au88x0: Fix overlapped PCM pointer

au88x0 hardware seems returning the current pointer at the buffer
boundary instead of going back to zero.  This results in spewing
warnings from PCM core.

This patch corrects the return value from the pointer callback within
the proper value range, just returning zero if the position is equal
or above the buffer size.
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent d2c5cf88
......@@ -432,7 +432,10 @@ static snd_pcm_uframes_t snd_vortex_pcm_pointer(struct snd_pcm_substream *substr
#endif
//printk(KERN_INFO "vortex: pointer = 0x%x\n", current_ptr);
spin_unlock(&chip->lock);
return (bytes_to_frames(substream->runtime, current_ptr));
current_ptr = bytes_to_frames(substream->runtime, current_ptr);
if (current_ptr >= substream->runtime->buffer_size)
current_ptr = 0;
return current_ptr;
}
/* operators */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment