aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2022-08-30 03:17:19 +0000
committerMark Brown <broonie@kernel.org>2022-09-05 13:09:07 +0100
commit6932b20d4f41dc01dc58c0afb335e688575c7d54 (patch)
treeb6ac977ee6d78ded1a50c09b0aa5fea50b574e09
parentASoC: soc-pcm.c: add soc_pcm_ret() (diff)
downloadlinux-dev-6932b20d4f41dc01dc58c0afb335e688575c7d54.tar.xz
linux-dev-6932b20d4f41dc01dc58c0afb335e688575c7d54.zip
ASoC: soc-pcm.c: check fe condition at out of loop
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@renesas.com> Link: https://lore.kernel.org/r/87pmgi4dz4.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/soc-pcm.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index ce09caf8f8c8..f8b62487babd 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