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> | 2024-01-08 10:29:10 +0000 |
commit | 7a3f95de4ec072f50b7088e1a52536f8dfd83572 (patch) | |
tree | 53de7704b4a095c6b1151e8db0866af54be4c20a | |
parent | 0dd3ee31125508cd67f7e7172247f05b7fd1753a (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 092ca09f3631..46e94d247d7e 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); } |