ASoC: Fix Blackfin I2S _pointer() implementation return in bounds values
commit34396acf40adf67140aa163cb7e6efe9d366d8e6
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 13 Jun 2011 11:14:07 +0000 (13 12:14 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 3 Aug 2011 19:42:25 +0000 (3 12:42 -0700)
tree19831b4243bbd78895e353413802ae00cf5c46da
parent10e3fcd9aa47f02694fdb33501ee2287337bf7cd
ASoC: Fix Blackfin I2S _pointer() implementation return in bounds values

commit e999dc50404d401150a5429b6459473a691fd1a0 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
sound/soc/blackfin/bf5xx-i2s-pcm.c