diff options
Diffstat (limited to 'sound/soc/soc-core.c')
-rw-r--r-- | sound/soc/soc-core.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 16369cad4803..4afa8dba5e98 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c | |||
@@ -1056,7 +1056,7 @@ static int soc_bind_dai_link(struct snd_soc_card *card, | |||
1056 | if (!rtd->platform) { | 1056 | if (!rtd->platform) { |
1057 | dev_err(card->dev, "ASoC: platform %s not registered\n", | 1057 | dev_err(card->dev, "ASoC: platform %s not registered\n", |
1058 | dai_link->platform_name); | 1058 | dai_link->platform_name); |
1059 | return -EPROBE_DEFER; | 1059 | goto _err_defer; |
1060 | } | 1060 | } |
1061 | 1061 | ||
1062 | soc_add_pcm_runtime(card, rtd); | 1062 | soc_add_pcm_runtime(card, rtd); |
@@ -2083,14 +2083,13 @@ static int soc_cleanup_card_resources(struct snd_soc_card *card) | |||
2083 | /* remove auxiliary devices */ | 2083 | /* remove auxiliary devices */ |
2084 | soc_remove_aux_devices(card); | 2084 | soc_remove_aux_devices(card); |
2085 | 2085 | ||
2086 | snd_soc_dapm_free(&card->dapm); | ||
2086 | soc_cleanup_card_debugfs(card); | 2087 | soc_cleanup_card_debugfs(card); |
2087 | 2088 | ||
2088 | /* remove the card */ | 2089 | /* remove the card */ |
2089 | if (card->remove) | 2090 | if (card->remove) |
2090 | card->remove(card); | 2091 | card->remove(card); |
2091 | 2092 | ||
2092 | snd_soc_dapm_free(&card->dapm); | ||
2093 | |||
2094 | snd_card_free(card->snd_card); | 2093 | snd_card_free(card->snd_card); |
2095 | return 0; | 2094 | return 0; |
2096 | 2095 | ||