diff mbox series

ASoC: don't call soc_cleanup_card_resources() at snd_soc_instantiate_card()

Message ID 87ef42uzgd.wl-kuninori.morimoto.gx@renesas.com (mailing list archive)
State New, archived
Headers show
Series ASoC: don't call soc_cleanup_card_resources() at snd_soc_instantiate_card() | expand

Commit Message

Kuninori Morimoto June 10, 2019, 1:13 a.m. UTC
From: Kuninori Morimoto <kuninori.morimoto.gx@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@gmail.com>
Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/soc-core.c | 1 -
 1 file changed, 1 deletion(-)

Comments

Tzung-Bi Shih June 10, 2019, 2:40 a.m. UTC | #1
The same change has been made and applied to for-next in commit
0779935938b1 ("ASoC: Remove erroneous soc_cleanup_card_resources()
call").
Kuninori Morimoto June 10, 2019, 3:03 a.m. UTC | #2
Hi Tzung-Bi

> The same change has been made and applied to for-next in commit
> 0779935938b1 ("ASoC: Remove erroneous soc_cleanup_card_resources()
> call").

Thanks !!
Nice to know


Thank you for your help !!
Best regards
---
Kuninori Morimoto
diff mbox series

Patch

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);