diff --git a/sys/dev/sound/pcm/buffer.c b/sys/dev/sound/pcm/buffer.c --- a/sys/dev/sound/pcm/buffer.c +++ b/sys/dev/sound/pcm/buffer.c @@ -276,16 +276,10 @@ length = b->bufsize; data = sndbuf_zerodata(b->fmt); - i = sndbuf_getfreeptr(b); p = sndbuf_getbuf(b); - while (length > 0) { - p[i] = data; - length--; - i++; - if (i >= b->bufsize) - i = 0; - } + for (; length > 0; length--, i++) + p[i % b->bufsize] = data; } /**