From: Kuninori Morimoto Date: Wed, 24 Jan 2018 05:18:46 +0000 (+0000) Subject: ASoC: soc-pcm: don't call flush_delayed_work() many times in soc_pcm_private_free() X-Git-Tag: v5.15~9442^2~5^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f30a4c313eb6d5027a85869d1ccf626208218ed0;p=platform%2Fkernel%2Flinux-starfive.git ASoC: soc-pcm: don't call flush_delayed_work() many times in soc_pcm_private_free() commit f523acebbb74 ("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 Signed-off-by: Mark Brown --- diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c index 8075856..998800c 100644 --- a/sound/soc/soc-pcm.c +++ b/sound/soc/soc-pcm.c @@ -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)