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>2025-04-04 15:01:15 +0100
commit2fc93ae04df392b884c1c00d126f321036c88151 (patch)
tree9864cac929743daecf315dabbf28c19b2a08edd8
parent38fec10eb60d687e30c8c6b5420d86e8149f7557 (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 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);
}