ASoC: soc-dai: fix up hw params only if it is needed

If fixed hw params won't be used, fixing up isn't needed also.

Signed-off-by: Gyeongtaek Lee <gt82.lee@samsung.com>
Link: https://lore.kernel.org/r/000401d748bc$fa466d50$eed347f0$@samsung.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Gyeongtaek Lee 2021-05-14 21:30:51 +09:00 committed by Mark Brown
parent 11480dbfe1
commit 8b4ba1d317
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -327,14 +327,15 @@ int snd_soc_dai_hw_params(struct snd_soc_dai *dai,
struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream); struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream);
int ret = 0; int ret = 0;
/* perform any topology hw_params fixups before DAI */
ret = snd_soc_link_be_hw_params_fixup(rtd, params);
if (ret < 0)
goto end;
if (dai->driver->ops && if (dai->driver->ops &&
dai->driver->ops->hw_params) dai->driver->ops->hw_params) {
/* perform any topology hw_params fixups before DAI */
ret = snd_soc_link_be_hw_params_fixup(rtd, params);
if (ret < 0)
goto end;
ret = dai->driver->ops->hw_params(substream, params, dai); ret = dai->driver->ops->hw_params(substream, params, dai);
}
/* mark substream if succeeded */ /* mark substream if succeeded */
if (ret == 0) if (ret == 0)