summaryrefslogtreecommitdiffstats
path: root/sound/soc/amd/vangogh/acp5x-pcm-dma.c
diff options
context:
space:
mode:
authorMeng Tang <tangmeng@uniontech.com>2022-03-16 10:13:03 +0100
committerMark Brown <broonie@kernel.org>2022-03-16 17:39:27 +0100
commit54e1bf9f6177a3ffbd920474f4481a25361163aa (patch)
tree1f9f08f5a23cc4f363b1631a5fa26615a9a4dbcf /sound/soc/amd/vangogh/acp5x-pcm-dma.c
parentASoC: codecs: wcd934x: Add missing of_node_put() in wcd934x_codec_parse_data (diff)
downloadlinux-54e1bf9f6177a3ffbd920474f4481a25361163aa.tar.xz
linux-54e1bf9f6177a3ffbd920474f4481a25361163aa.zip
ASoC: amd: Fix reference to PCM buffer address
PCM buffers might be allocated dynamically when the buffer preallocation failed or a larger buffer is requested, and it's not guaranteed that substream->dma_buffer points to the actually used buffer. The driver needs to refer to substream->runtime->dma_addr instead for the buffer address. Fixes: cab396d8b22c1 ("ASoC: amd: add ACP5x pcm dma driver ops") Signed-off-by: Meng Tang <tangmeng@uniontech.com> Link: https://lore.kernel.org/r/20220316091303.9745-1-tangmeng@uniontech.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/amd/vangogh/acp5x-pcm-dma.c')
-rw-r--r--sound/soc/amd/vangogh/acp5x-pcm-dma.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/amd/vangogh/acp5x-pcm-dma.c b/sound/soc/amd/vangogh/acp5x-pcm-dma.c
index 31fa166df98a..d36bb718370f 100644
--- a/sound/soc/amd/vangogh/acp5x-pcm-dma.c
+++ b/sound/soc/amd/vangogh/acp5x-pcm-dma.c
@@ -281,7 +281,7 @@ static int acp5x_dma_hw_params(struct snd_soc_component *component,
return -EINVAL;
}
size = params_buffer_bytes(params);
- rtd->dma_addr = substream->dma_buffer.addr;
+ rtd->dma_addr = substream->runtime->dma_addr;
rtd->num_pages = (PAGE_ALIGN(size) >> PAGE_SHIFT);
config_acp5x_dma(rtd, substream->stream);
return 0;