diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2013-07-11 10:21:56 +0100 |
---|---|---|
committer | Russell King (Oracle) <rmk+kernel@armlinux.org.uk> | 2025-04-04 15:01:15 +0100 |
commit | 2fc93ae04df392b884c1c00d126f321036c88151 (patch) | |
tree | 9864cac929743daecf315dabbf28c19b2a08edd8 | |
parent | 38fec10eb60d687e30c8c6b5420d86e8149f7557 (diff) |
ALSA: ASoC: fix generic dmaengine channel requesting
The ASoC generic dmaengine support takes a filter data parameter via
struct snd_dmaengine_dai_dma_data. However, rather than passing the
filter data to the DMA engine request function, it passed the
struct snd_dmaengine_dai_dma_data itself. Fix this.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r-- | sound/soc/soc-generic-dmaengine-pcm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/soc/soc-generic-dmaengine-pcm.c b/sound/soc/soc-generic-dmaengine-pcm.c index a63e942fdc0b..6767d80dc489 100644 --- a/sound/soc/soc-generic-dmaengine-pcm.c +++ b/sound/soc/soc-generic-dmaengine-pcm.c @@ -185,14 +185,14 @@ static struct dma_chan *dmaengine_pcm_compat_request_channel( return NULL; } - dma_data = snd_soc_dai_get_dma_data(snd_soc_rtd_to_cpu(rtd, 0), substream); - if ((pcm->flags & SND_DMAENGINE_PCM_FLAG_HALF_DUPLEX) && pcm->chan[0]) return pcm->chan[0]; if (pcm->config->compat_request_channel) return pcm->config->compat_request_channel(rtd, substream); + dma_data = snd_soc_dai_get_dma_data(snd_soc_rtd_to_cpu(rtd, 0), substream); + return snd_dmaengine_pcm_request_channel(pcm->config->compat_filter_fn, dma_data->filter_data); } |