[ Upstream commit 40aa5383e393d72f6aa3943a4e7b1aae25a1e43b ] If the DAI format setup fails, there is no valid communication format between CPU and CODEC, so fail card instantiation, rather than continue with a card that will most likely not function properly.
Signed-off-by: Ricard Wanderlof <rica...@axis.com> Link: https://lore.kernel.org/r/alpine.deb.2.20.1907241132350.6...@lnxricardw1.se.axis.com Signed-off-by: Mark Brown <broo...@kernel.org> Signed-off-by: Sasha Levin <sas...@kernel.org> --- sound/soc/soc-core.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 6aeba0d66ec50..dd0f43a1c5e14 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -1605,8 +1605,11 @@ static int soc_probe_link_dais(struct snd_soc_card *card, } } - if (dai_link->dai_fmt) - snd_soc_runtime_set_dai_fmt(rtd, dai_link->dai_fmt); + if (dai_link->dai_fmt) { + ret = snd_soc_runtime_set_dai_fmt(rtd, dai_link->dai_fmt); + if (ret) + return ret; + } ret = soc_post_component_init(rtd, dai_link->name); if (ret) -- 2.20.1