Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 7a5d9815 authored by Bard liao's avatar Bard liao Committed by Mark Brown
Browse files

ASoC: core: use list_del_init and move it back to soc_cleanup_component



commit a0a4bf57 ("ASoC: core: delete component->card_list in soc_remove_component only")
was trying to fix a kernel oops when list_del was called twice without
re-init the list. Use list_del_init() can solve it, too. Besides, it
will be more readable if we cleanup all component related resource at
soc_cleanup_component().

Suggested-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarBard liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20190918133131.15045-1-yung-chuan.liao@linux.intel.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 947ec14c
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -978,6 +978,7 @@ static void soc_cleanup_component(struct snd_soc_component *component)
	/* For framework level robustness */
	snd_soc_component_set_jack(component, NULL, NULL);

	list_del_init(&component->card_list);
	snd_soc_dapm_free(snd_soc_component_get_dapm(component));
	soc_cleanup_component_debugfs(component);
	component->card = NULL;
@@ -990,7 +991,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);
}