ASoC: fsi: fixup fsi_pointer() calculation method
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 9 Feb 2012 00:57:29 +0000 (16:57 -0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 9 Feb 2012 10:50:53 +0000 (10:50 +0000)
current fsi_pointer() calculation was not correct for FSI driver.
This patch fix it up.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/sh/fsi.c

index db6c89a28bda9924a8c96b3e4c3ee85fc9482871..ea4a82d01160f5657e19a4f1f4df4ca928d1737a 100644 (file)
@@ -1152,12 +1152,8 @@ static snd_pcm_uframes_t fsi_pointer(struct snd_pcm_substream *substream)
 {
        struct fsi_priv *fsi = fsi_get_priv(substream);
        struct fsi_stream *io = fsi_get_stream(fsi, fsi_is_play(substream));
-       int samples_pos = io->buff_sample_pos - 1;
 
-       if (samples_pos < 0)
-               samples_pos = 0;
-
-       return fsi_sample2frame(fsi, samples_pos);
+       return fsi_sample2frame(fsi, io->buff_sample_pos);
 }
 
 static struct snd_pcm_ops fsi_pcm_ops = {