ASoC: core: delete component->card_list in soc_remove_component only
We add component->card_list in the end of soc_probe_component(). In
other words, component->card_list will not be added if there is an
error in the soc_probe_component() function. So we can't delete
component->card_list in the error handling of soc_probe_component().
Fixes: 22d1423187
("ASoC: soc-core: add soc_cleanup_component()")
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20190916210353.6318-1-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
e75f4940e8
commit
a0a4bf57a9
|
@ -978,7 +978,6 @@ static void soc_cleanup_component(struct snd_soc_component *component)
|
|||
/* For framework level robustness */
|
||||
snd_soc_component_set_jack(component, NULL, NULL);
|
||||
|
||||
list_del(&component->card_list);
|
||||
snd_soc_dapm_free(snd_soc_component_get_dapm(component));
|
||||
soc_cleanup_component_debugfs(component);
|
||||
component->card = NULL;
|
||||
|
@ -991,7 +990,7 @@ static void soc_remove_component(struct snd_soc_component *component)
|
|||
return;
|
||||
|
||||
snd_soc_component_remove(component);
|
||||
|
||||
list_del(&component->card_list);
|
||||
soc_cleanup_component(component);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue