[alsa-devel] [PATCH] ASoC: don't call soc_cleanup_card_resources() at snd_soc_instantiate_card()

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Mon Jun 10 03:13:32 CEST 2019


From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>

commit adb76b5b9c47 ("ASoC: soc-core: remove legacy style dai_link")
removed legacy style dai_link from soc-core, and
commit 70fc53734e71 ("ASoC: core: move DAI pre-links initiation to
snd_soc_instantiate_card") moves soc_init_dai_link() timing.

Because of these, we don't need to call soc_cleanup_card_resources() if
soc_init_dai_link() was failed, otherwise, we will get Kernel crash.

Fixes: adb76b5b9c47 ("ASoC: soc-core: remove legacy style dai_link")
Fixes: 70fc53734e71 ("ASoC: core: move DAI pre-links initiation to snd_soc_instantiate_card")
Reported-by: Fabio Estevam <festevam at gmail.com>
Signed-off-by: Tzung-Bi Shih <tzungbi at google.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
---
 sound/soc/soc-core.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 1679990..2a408cc 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1984,7 +1984,6 @@ static int snd_soc_instantiate_card(struct snd_soc_card *card)
 	for_each_card_prelinks(card, i, dai_link) {
 		ret = soc_init_dai_link(card, dai_link);
 		if (ret) {
-			soc_cleanup_card_resources(card);
 			dev_err(card->dev, "ASoC: failed to init link %s: %d\n",
 				dai_link->name, ret);
 			mutex_unlock(&client_mutex);
-- 
2.7.4



More information about the Alsa-devel mailing list