diff options
author | Ricard Wanderlof <ricard.wanderlof@axis.com> | 2019-07-24 11:38:44 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-08-29 08:28:31 +0200 |
commit | 714a8438fc8ae88aa22c25065e241bce0260db13 (patch) | |
tree | b8c2d44c7e63cd681e6888f8575eda749e6f4407 /sound | |
parent | bd2f4c7c2d6a6f09a23756ae6d97b0615bdd05d7 (diff) | |
download | linux-stable-714a8438fc8ae88aa22c25065e241bce0260db13.tar.gz linux-stable-714a8438fc8ae88aa22c25065e241bce0260db13.tar.bz2 linux-stable-714a8438fc8ae88aa22c25065e241bce0260db13.zip |
ASoC: Fail card instantiation if DAI format setup fails
[ 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 <ricardw@axis.com>
Link: https://lore.kernel.org/r/alpine.DEB.2.20.1907241132350.6338@lnxricardw1.se.axis.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/soc-core.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 62aa320c2070..dafc3b7f8d72 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -1513,8 +1513,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) |