If fixed hw params won't be used, fixing up isn't needed also. Signed-off-by: Gyeongtaek Lee <gt82.lee@xxxxxxxxxxx> --- sound/soc/soc-dai.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sound/soc/soc-dai.c b/sound/soc/soc-dai.c index 080fbe053fc5..4df1aae8abf3 100644 --- a/sound/soc/soc-dai.c +++ b/sound/soc/soc-dai.c @@ -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); 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 && - 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); + } /* mark substream if succeeded */ if (ret == 0) base-commit: c06a2ba62fc401b7aaefd23f5d0bc06d2457ccc1 -- 2.21.0