ASoC: soc-core: remove duplicate mutex_unlock from snd_soc_unregister_component()
Current snd_soc_unregister_component() is using multiple mutex_unlock() for found/non-found cases. But it is unreadable and confusable code. This patch tidyup current code to be readable. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
cf9e829eaf
commit
21a035287e
@ -3328,21 +3328,25 @@ EXPORT_SYMBOL_GPL(snd_soc_register_component);
|
|||||||
void snd_soc_unregister_component(struct device *dev)
|
void snd_soc_unregister_component(struct device *dev)
|
||||||
{
|
{
|
||||||
struct snd_soc_component *component;
|
struct snd_soc_component *component;
|
||||||
|
int found = 0;
|
||||||
|
|
||||||
mutex_lock(&client_mutex);
|
mutex_lock(&client_mutex);
|
||||||
list_for_each_entry(component, &component_list, list) {
|
list_for_each_entry(component, &component_list, list) {
|
||||||
if (dev == component->dev && component->registered_as_component)
|
if (dev != component->dev ||
|
||||||
goto found;
|
!component->registered_as_component)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
snd_soc_tplg_component_remove(component, SND_SOC_TPLG_INDEX_ALL);
|
||||||
|
snd_soc_component_del_unlocked(component);
|
||||||
|
found = 1;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
mutex_unlock(&client_mutex);
|
mutex_unlock(&client_mutex);
|
||||||
return;
|
|
||||||
|
|
||||||
found:
|
if (found) {
|
||||||
snd_soc_tplg_component_remove(component, SND_SOC_TPLG_INDEX_ALL);
|
snd_soc_component_cleanup(component);
|
||||||
snd_soc_component_del_unlocked(component);
|
kfree(component);
|
||||||
mutex_unlock(&client_mutex);
|
}
|
||||||
snd_soc_component_cleanup(component);
|
|
||||||
kfree(component);
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(snd_soc_unregister_component);
|
EXPORT_SYMBOL_GPL(snd_soc_unregister_component);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user