ASoC: soc-topology: use for_each_component_dais() at remove_dai()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tue, 20 Aug 2019 05:05:32 +0000 (14:05 +0900)
committerMark Brown <broonie@kernel.org>
Thu, 22 Aug 2019 17:31:38 +0000 (18:31 +0100)
commit 52abe6cc1866a ("ASoC: topology: fix oops/use-after-free case
with dai driver") fixups remove_dai() error, but it is using
list_for_each_entry() for component->dai_list.

We already have for_each_component_dais() macro for it.
Let's use exising method.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87tvaczazd.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-topology.c

index dc463f1a9e242789c6a3970e42093734e4939659..b8690715abb5fdf464f75a356f9016d892405c6a 100644 (file)
@@ -530,7 +530,7 @@ static void remove_dai(struct snd_soc_component *comp,
        if (dobj->ops && dobj->ops->dai_unload)
                dobj->ops->dai_unload(comp, dobj);
 
-       list_for_each_entry(dai, &comp->dai_list, list)
+       for_each_component_dais(comp, dai)
                if (dai->driver == dai_drv)
                        dai->driver = NULL;