diff mbox

ASoC: rt5514: reset dma_offset at hw_params

Message ID 1502102372-27635-1-git-send-email-oder_chiou@realtek.com (mailing list archive)
State Accepted
Commit b56bff43a965ffe03b4a994fd1a102059d272807
Headers show

Commit Message

Oder Chiou Aug. 7, 2017, 10:39 a.m. UTC
dma_offset needs reset every time otherwise for consecutive PCM
open the last dma_offset value will cause incorrect pointer position
be reported to user space.

Signed-off-by: Hsin-Yu Chao <hychao@chromium.org>
Signed-off-by: Oder Chiou <oder_chiou@realtek.com>
---
 sound/soc/codecs/rt5514-spi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox

Patch

diff --git a/sound/soc/codecs/rt5514-spi.c b/sound/soc/codecs/rt5514-spi.c
index 6f513cc..640193d 100644
--- a/sound/soc/codecs/rt5514-spi.c
+++ b/sound/soc/codecs/rt5514-spi.c
@@ -151,7 +151,6 @@  static irqreturn_t rt5514_spi_irq(int irq, void *data)
 	u8 buf[8];
 
 	rt5514_dsp->get_size = 0;
-	rt5514_dsp->dma_offset = 0;
 
 	/**
 	 * The address area x1800XXXX is the register address, and it cannot
@@ -205,6 +204,7 @@  static int rt5514_spi_hw_params(struct snd_pcm_substream *substream,
 	ret = snd_pcm_lib_alloc_vmalloc_buffer(substream,
 			params_buffer_bytes(hw_params));
 	rt5514_dsp->substream = substream;
+	rt5514_dsp->dma_offset = 0;
 	mutex_unlock(&rt5514_dsp->dma_lock);
 
 	return ret;