From: Mark Brown broonie@kernel.org
commit b4f5c6b2e52b27462c0599e64e96e53b58438de1 upstream.
The WM8958 DSP controls all return 0 on successful write, not a boolean value indicating if the write changed the value of the control. Fix this by returning 1 after a change, there is already a check at the start of each put() that skips the function in the case that there is no change.
Signed-off-by: Mark Brown broonie@kernel.org Acked-by: Charles Keepax ckeepax@opensource.cirrus.com Link: https://lore.kernel.org/r/20220416125408.197440-1-broonie@kernel.org Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org --- sound/soc/codecs/wm8958-dsp2.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
--- a/sound/soc/codecs/wm8958-dsp2.c +++ b/sound/soc/codecs/wm8958-dsp2.c @@ -533,7 +533,7 @@ static int wm8958_mbc_put(struct snd_kco
wm8958_dsp_apply(codec, mbc, wm8994->mbc_ena[mbc]);
- return 0; + return 1; }
#define WM8958_MBC_SWITCH(xname, xval) {\ @@ -659,7 +659,7 @@ static int wm8958_vss_put(struct snd_kco
wm8958_dsp_apply(codec, vss, wm8994->vss_ena[vss]);
- return 0; + return 1; }
@@ -733,7 +733,7 @@ static int wm8958_hpf_put(struct snd_kco
wm8958_dsp_apply(codec, hpf % 3, ucontrol->value.integer.value[0]);
- return 0; + return 1; }
#define WM8958_HPF_SWITCH(xname, xval) {\ @@ -827,7 +827,7 @@ static int wm8958_enh_eq_put(struct snd_
wm8958_dsp_apply(codec, eq, ucontrol->value.integer.value[0]);
- return 0; + return 1; }
#define WM8958_ENH_EQ_SWITCH(xname, xval) {\