[alsa-devel] [PATCH] ASoC: core: lock client_mutex while removing link components

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Thu May 23 19:20:34 CEST 2019


On 5/23/19 12:12 PM, Ranjani Sridharan wrote:
> Removing link components results in topology unloading. So,
> acquire the client_mutex before removing components in
> soc_remove_link_components. This will prevent the lockdep warning
> seen when dai links are removed during topology removal.
> 
> Signed-off-by: Ranjani Sridharan <ranjani.sridharan at linux.intel.com>

GitHub issue: https://github.com/thesofproject/linux/issues/967 for more 
details.

> ---
>   sound/soc/soc-core.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
> index ce8c057bcd5b..bbb52fbd195e 100644
> --- a/sound/soc/soc-core.c
> +++ b/sound/soc/soc-core.c
> @@ -1010,12 +1010,14 @@ static void soc_remove_link_components(struct snd_soc_card *card,
>   	struct snd_soc_component *component;
>   	struct snd_soc_rtdcom_list *rtdcom;
>   
> +	mutex_lock(&client_mutex);
>   	for_each_rtdcom(rtd, rtdcom) {
>   		component = rtdcom->component;
>   
>   		if (component->driver->remove_order == order)
>   			soc_remove_component(component);
>   	}
> +	mutex_unlock(&client_mutex);
>   }
>   
>   static void soc_remove_dai_links(struct snd_soc_card *card)
> 



More information about the Alsa-devel mailing list