Sorry, I unintentionally 'recycled' git send-email parameters, please ignore this patch :( El Fri, Feb 09, 2018 at 01:22:13PM -0800 Matthias Kaehlcke ha dit: > From: KaiChieh Chuang <kaichieh.chuang at mediatek.com> > > This fix a bug in dapm_widget_power_read_file(), > where it may sent opposite order of source/sink widget > into the p->connected(). > > for example, > static int connected_check(source, sink); > {"w_sink", NULL, "w_source", connected_check} > > the dapm_widget_power_read_file() will query p->connected() > in following case > p->conneted("w_source", "w_sink") > p->conneted("w_sink", "w_source") > we should avoid the last case, since it's the wrong order (source/sink) > as declared in snd_soc_dapm_route. > > Signed-off-by: KaiChieh Chuang <kaichieh.chuang at mediatek.com> > Signed-off-by: Mark Brown <broonie at kernel.org> > Signed-off-by: Matthias Kaehlcke <mka at chromium.org> > --- > sound/soc/soc-dapm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c > index a10b21cfc31e..ee6d9d9a3c5e 100644 > --- a/sound/soc/soc-dapm.c > +++ b/sound/soc/soc-dapm.c > @@ -2026,7 +2026,7 @@ static ssize_t dapm_widget_power_read_file(struct file *file, > snd_soc_dapm_for_each_direction(dir) { > rdir = SND_SOC_DAPM_DIR_REVERSE(dir); > snd_soc_dapm_widget_for_each_path(w, dir, p) { > - if (p->connected && !p->connected(w, p->node[rdir])) > + if (p->connected && !p->connected(p->source, p->sink)) > continue; > > if (!p->connect)