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: fa654e0853
("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>
This commit is contained in:
parent
39c2894dfc
commit
1ecf9dcf28
|
@ -82,10 +82,10 @@ static int dmaengine_pcm_hw_params(struct snd_soc_component *component,
|
||||||
|
|
||||||
memset(&slave_config, 0, sizeof(slave_config));
|
memset(&slave_config, 0, sizeof(slave_config));
|
||||||
|
|
||||||
if (!pcm->config)
|
if (pcm->config && pcm->config->prepare_slave_config)
|
||||||
prepare_slave_config = snd_dmaengine_pcm_prepare_slave_config;
|
|
||||||
else
|
|
||||||
prepare_slave_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) {
|
if (prepare_slave_config) {
|
||||||
int ret = prepare_slave_config(substream, params, &slave_config);
|
int ret = prepare_slave_config(substream, params, &slave_config);
|
||||||
|
|
Loading…
Reference in New Issue