summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorCodrin Ciubotariu <codrin.ciubotariu@microchip.com>2022-03-07 14:21:57 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-04-15 14:18:10 +0200
commited41d104be5453042bf11de4cd8924ea8f309f75 (patch)
treea4c9b165118fabefccded57648e3523e851c25d8 /sound
parent29e91a49b6fb92832f07b732282f9001a4aeb173 (diff)
downloadlinux-stable-ed41d104be5453042bf11de4cd8924ea8f309f75.tar.gz
linux-stable-ed41d104be5453042bf11de4cd8924ea8f309f75.tar.bz2
linux-stable-ed41d104be5453042bf11de4cd8924ea8f309f75.zip
ASoC: dmaengine: do not use a NULL prepare_slave_config() callback
[ Upstream commit 9a1e13440a4f2e7566fd4c5eae6a53e6400e08a4 ] Even if struct snd_dmaengine_pcm_config is used, prepare_slave_config() callback might not be set. Check if this callback is set before using it. Fixes: fa654e085300 ("ASoC: dmaengine-pcm: Provide default config") Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com> Link: https://lore.kernel.org/r/20220307122202.2251639-2-codrin.ciubotariu@microchip.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/soc-generic-dmaengine-pcm.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sound/soc/soc-generic-dmaengine-pcm.c b/sound/soc/soc-generic-dmaengine-pcm.c
index 5552c66ca642..ca4b17bd95d1 100644
--- a/sound/soc/soc-generic-dmaengine-pcm.c
+++ b/sound/soc/soc-generic-dmaengine-pcm.c
@@ -91,10 +91,10 @@ static int dmaengine_pcm_hw_params(struct snd_pcm_substream *substream,
memset(&slave_config, 0, sizeof(slave_config));
- if (!pcm->config)
- prepare_slave_config = snd_dmaengine_pcm_prepare_slave_config;
- else
+ if (pcm->config && pcm->config->prepare_slave_config)
prepare_slave_config = pcm->config->prepare_slave_config;
+ else
+ prepare_slave_config = snd_dmaengine_pcm_prepare_slave_config;
if (prepare_slave_config) {
ret = prepare_slave_config(substream, params, &slave_config);