Message ID | 20190523171201.31104-1-ranjani.sridharan@linux.intel.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 34ac3c3eb8f0c07252ceddf0a22dd240e5c91ccb |
Headers | show |
Series | ASoC: core: lock client_mutex while removing link components | expand |
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@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) >
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)
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@linux.intel.com> --- sound/soc/soc-core.c | 2 ++ 1 file changed, 2 insertions(+)