ASoC: xilinx: Fix reference to PCM buffer address
commit 42bc62c9f1
upstream.
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.
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20210728112353.6675-4-tiwai@suse.de
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
c419c4c91b
commit
209eb62b45
@ -452,8 +452,8 @@ static int xlnx_formatter_pcm_hw_params(struct snd_soc_component *component,
|
||||
|
||||
stream_data->buffer_size = size;
|
||||
|
||||
low = lower_32_bits(substream->dma_buffer.addr);
|
||||
high = upper_32_bits(substream->dma_buffer.addr);
|
||||
low = lower_32_bits(runtime->dma_addr);
|
||||
high = upper_32_bits(runtime->dma_addr);
|
||||
writel(low, stream_data->mmio + XLNX_AUD_BUFF_ADDR_LSB);
|
||||
writel(high, stream_data->mmio + XLNX_AUD_BUFF_ADDR_MSB);
|
||||
|
||||
|
Reference in New Issue
Block a user