ASoC: dmaengine: Restore NULL prepare_slave_config() callback
commit 660564fc9a92a893a14f255be434f7ea0b967901 upstream. As pointed out by Sascha Hauer, this patch changes: if (pmc->config && !pcm->config->prepare_slave_config) <do nothing> to: if (pmc->config && !pcm->config->prepare_slave_config) snd_dmaengine_pcm_prepare_slave_config() This breaks the drivers that do not need a call to dmaengine_slave_config(). Drivers that still need to call snd_dmaengine_pcm_prepare_slave_config(), but have a NULL pcm->config->prepare_slave_config should use snd_dmaengine_pcm_prepare_slave_config() as their prepare_slave_config callback. Fixes: 9a1e13440a4f ("ASoC: dmaengine: do not use a NULL prepare_slave_config() callback") Reported-by: Sascha Hauer <sha@pengutronix.de> Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com> Link: https://lore.kernel.org/r/20220421125403.2180824-1-codrin.ciubotariu@microchip.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
ad87f8498e
commit
87f0d9a518
|
@ -83,10 +83,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 && pcm->config->prepare_slave_config)
|
if (!pcm->config)
|
||||||
prepare_slave_config = pcm->config->prepare_slave_config;
|
|
||||||
else
|
|
||||||
prepare_slave_config = snd_dmaengine_pcm_prepare_slave_config;
|
prepare_slave_config = snd_dmaengine_pcm_prepare_slave_config;
|
||||||
|
else
|
||||||
|
prepare_slave_config = pcm->config->prepare_slave_config;
|
||||||
|
|
||||||
if (prepare_slave_config) {
|
if (prepare_slave_config) {
|
||||||
ret = prepare_slave_config(substream, params, &slave_config);
|
ret = prepare_slave_config(substream, params, &slave_config);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user