summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2013-07-11 10:21:56 +0100
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>2024-03-26 12:08:22 +0000
commitd763aef100c9f1c98836cd54a4b38d005a3782c6 (patch)
tree65ab3113cf43ae96d0f17356ff2d0621f0a2cc9e
parente8f897f4afef0031fe618a8e94127a0934896aba (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.c4
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);
}