ASoC: Fix Blackfin I2S _pointer() implementation return in bounds values
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 13 Jun 2011 11:14:07 +0000 (12:14 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 29 Jun 2011 16:47:53 +0000 (09:47 -0700)
commite999dc50404d401150a5429b6459473a691fd1a0
tree7715fe9e51e7591a16c8c133b1c1347927ba9147
parent53dea36c70c1857149a8c447224e3936eb8b5339
ASoC: Fix Blackfin I2S _pointer() implementation return in bounds values

The Blackfin DMA controller can report one frame beyond the end of the
buffer in the wraparound case but ALSA requires that the pointer always
be in the buffer. Do the wraparound to handle this. A similar bug is
likely to apply to the other Blackfin PCM drivers but the code is less
obvious to inspection and I don't have a user to test.

Reported-by: Kieran O'Leary <Kieran.O'Leary@wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
sound/soc/blackfin/bf5xx-i2s-pcm.c