[PATCH 3/3] ASoC: soc-pcm.c: check fe condition at out of loop
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Tue Aug 30 05:17:19 CEST 2022
From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
Current dpcm_add_paths() is checking fe condition in loop (= A),
but fe condition (X) is not related to the loop (B).
(X) static int dpcm_add_paths(fe, stream, ...)
{
...
(B) for_each_dapm_widgets(list, i, widget) {
...
(A) if (!fe->dpcm[stream].runtime && !fe->fe_compr)
continue;
...
}
...
}
This patch checks fe condition at out of loop
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
---
sound/soc/soc-pcm.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index 1f55f8d40d5e..1dae758bc4aa 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -1458,6 +1458,10 @@ static int dpcm_add_paths(struct snd_soc_pcm_runtime *fe, int stream,
struct snd_soc_dapm_widget *widget;
int i, new = 0, err;
+ /* don't connect if FE is not running */
+ if (!fe->dpcm[stream].runtime && !fe->fe_compr)
+ return new;
+
/* Create any new FE <--> BE connections */
for_each_dapm_widgets(list, i, widget) {
@@ -1482,10 +1486,6 @@ static int dpcm_add_paths(struct snd_soc_pcm_runtime *fe, int stream,
continue;
}
- /* don't connect if FE is not running */
- if (!fe->dpcm[stream].runtime && !fe->fe_compr)
- continue;
-
/*
* Filter for systems with 'component_chaining' enabled.
* This helps to avoid unnecessary re-configuration of an
--
2.25.1
More information about the Alsa-devel
mailing list