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 <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
 
        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)