From: Jaroslav Kysela Date: Fri, 8 Jan 2010 07:43:01 +0000 (+0100) Subject: ALSA: pcm_lib: fix "something must be really wrong" condition X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=7b3a177b0d4f92b3431b8dca777313a07533a710;p=openwrt%2Fstaging%2Fblogic.git ALSA: pcm_lib: fix "something must be really wrong" condition When runtime->periods == 1 or when pointer crosses end of ring buffer, the delta might be greater than buffer_size. Signed-off-by: Jaroslav Kysela --- diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c index a63226232ef4..c7b35b20e659 100644 --- a/sound/core/pcm_lib.c +++ b/sound/core/pcm_lib.c @@ -362,7 +362,7 @@ static int snd_pcm_update_hw_ptr0(struct snd_pcm_substream *substream, (unsigned long)runtime->hw_ptr_base); } /* something must be really wrong */ - if (delta >= runtime->buffer_size) { + if (delta >= runtime->buffer_size + runtime->period_size) { hw_ptr_error(substream, "Unexpected hw_pointer value %s" "(stream=%i, pos=%ld, new_hw_ptr=%ld, "