Skip to content

Commit

Permalink
ASoC: soc-pcm: don't call flush_delayed_work() many times in soc_pcm_…
Browse files Browse the repository at this point in the history
…private_free()

commit f523ace ("ASoC: add Component level pcm_new/pcm_free v2")
added component level pcm_new/pcm_free, but flush_delayed_work()
on soc_pcm_private_free() is called in for_each_rtdcom() loop.
It doesn't need to be called many times.
This patch moves it out of loop.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Kuninori Morimoto authored and Mark Brown committed Jan 24, 2018
1 parent 4fbd8d1 commit f30a4c3
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions sound/soc/soc-pcm.c
Original file line number Diff line number Diff line change
Expand Up @@ -2831,10 +2831,9 @@ static void soc_pcm_private_free(struct snd_pcm *pcm)
struct snd_soc_rtdcom_list *rtdcom;
struct snd_soc_component *component;

/* need to sync the delayed work before releasing resources */
flush_delayed_work(&rtd->delayed_work);
for_each_rtdcom(rtd, rtdcom) {
/* need to sync the delayed work before releasing resources */

flush_delayed_work(&rtd->delayed_work);
component = rtdcom->component;

if (component->pcm_free)
Expand Down

0 comments on commit f30a4c3

Please sign in to comment.