Commit 2a6f0892 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown

ASoC: soc-core: call snd_soc_dapm_shutdown() at soc_cleanup_card_resources()

It is easy to read code if it is cleanly using paired function/naming,
like start <-> stop, register <-> unregister, etc, etc.
But, current ALSA SoC code is very random, unbalance, not paired, etc.
It is easy to create bug at the such code, and it will be difficult to
debug.

snd_soc_bind_card() is calling snd_soc_dapm_init() for both
card and component.
Let's call paired snd_soc_dapm_shutdown() at paired
soc_cleanup_card_resources().
Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87r22c4lub.wl-kuninori.morimoto.gx@renesas.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent b26eb517
...@@ -1953,6 +1953,8 @@ static void soc_cleanup_card_resources(struct snd_soc_card *card) ...@@ -1953,6 +1953,8 @@ static void soc_cleanup_card_resources(struct snd_soc_card *card)
card->snd_card = NULL; card->snd_card = NULL;
} }
snd_soc_dapm_shutdown(card);
/* remove and free each DAI */ /* remove and free each DAI */
soc_remove_link_dais(card); soc_remove_link_dais(card);
...@@ -2389,7 +2391,6 @@ static void snd_soc_unbind_card(struct snd_soc_card *card, bool unregister) ...@@ -2389,7 +2391,6 @@ static void snd_soc_unbind_card(struct snd_soc_card *card, bool unregister)
{ {
if (card->instantiated) { if (card->instantiated) {
card->instantiated = false; card->instantiated = false;
snd_soc_dapm_shutdown(card);
snd_soc_flush_all_delayed_work(card); snd_soc_flush_all_delayed_work(card);
soc_cleanup_card_resources(card); soc_cleanup_card_resources(card);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment