diff options
author | Meng Tang <tangmeng@uniontech.com> | 2022-03-16 10:13:03 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2022-03-16 17:39:27 +0100 |
commit | 54e1bf9f6177a3ffbd920474f4481a25361163aa (patch) | |
tree | 1f9f08f5a23cc4f363b1631a5fa26615a9a4dbcf /sound/soc/amd/vangogh/acp5x-pcm-dma.c | |
parent | ASoC: codecs: wcd934x: Add missing of_node_put() in wcd934x_codec_parse_data (diff) | |
download | linux-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.c | 2 |
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; |