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-01-08 10:29:10 +0000
commit7a3f95de4ec072f50b7088e1a52536f8dfd83572 (patch)
tree53de7704b4a095c6b1151e8db0866af54be4c20a
parent0dd3ee31125508cd67f7e7172247f05b7fd1753a (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);
}