Message ID | 20230213145008.1215849-2-sbinding@opensource.cirrus.com |
---|---|
State | New |
Headers | show |
Series | Fixes and Improvements for CS35L41 HDA | expand |
On Sun, 26 Feb 2023 12:16:43 +0100, Richard Fitzgerald wrote: > > On 13/2/23 14:50, Stefan Binding wrote: > > From: Vitaly Rodionov <vitalyr@opensource.cirrus.com> > > > > Function cs_dsp_coeff_write_ctrl() can return 3 possible values: > > 0 - no change, 1 - value has changed and -1 - error, so positive value > > is not an error. > > Fixes: 7406bdbc4fb8 ("ASoC: wm_adsp: Return whether changed when writing controls") > > > > Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com> > > Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> > > --- > > sound/pci/hda/hda_cs_dsp_ctl.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/sound/pci/hda/hda_cs_dsp_ctl.c b/sound/pci/hda/hda_cs_dsp_ctl.c > > index 5433f6227ac9..463ca06036bf 100644 > > --- a/sound/pci/hda/hda_cs_dsp_ctl.c > > +++ b/sound/pci/hda/hda_cs_dsp_ctl.c > > @@ -218,10 +218,10 @@ int hda_cs_dsp_write_ctl(struct cs_dsp *dsp, const char *name, int type, > > cs_ctl = cs_dsp_get_ctl(dsp, name, type, alg); > > ret = cs_dsp_coeff_write_ctrl(cs_ctl, 0, buf, len); > > mutex_unlock(&dsp->pwr_lock); > > - if (ret) > > + if (ret < 0) > > return ret; > > - if (cs_ctl->flags & WMFW_CTL_FLAG_SYS) > > + if (ret == 0 || (cs_ctl->flags & WMFW_CTL_FLAG_SYS)) > > return 0; > > ctl = cs_ctl->priv; > > Hi Takashi > > Could you queue this patch as a bugfix for 6.2 please? > The cs_dsp patch to return 1 for changed has gone into 6.2 > but we missed that this hda_cs_dsp code would break. Could you just request the cherry-pick of the necessary fix commits via stable@vger.kernel.org (with Cc to Greg / Sasha)? I've been still traveling in this week, so it's better for you doing that by yourself. thanks, Takashi
diff --git a/sound/pci/hda/hda_cs_dsp_ctl.c b/sound/pci/hda/hda_cs_dsp_ctl.c index 5433f6227ac9..463ca06036bf 100644 --- a/sound/pci/hda/hda_cs_dsp_ctl.c +++ b/sound/pci/hda/hda_cs_dsp_ctl.c @@ -218,10 +218,10 @@ int hda_cs_dsp_write_ctl(struct cs_dsp *dsp, const char *name, int type, cs_ctl = cs_dsp_get_ctl(dsp, name, type, alg); ret = cs_dsp_coeff_write_ctrl(cs_ctl, 0, buf, len); mutex_unlock(&dsp->pwr_lock); - if (ret) + if (ret < 0) return ret; - if (cs_ctl->flags & WMFW_CTL_FLAG_SYS) + if (ret == 0 || (cs_ctl->flags & WMFW_CTL_FLAG_SYS)) return 0; ctl = cs_ctl->priv;