Commit d055852e authored by Mukund Navada's avatar Mukund Navada Committed by Mark Brown

ASoC: core: Double control update err for snd_soc_put_volsw_sx

snd_soc_put_volsw_sx function fails to update second control
if first control is updated by snd_soc_update_bits_locked.
Signed-off-by: default avatarMukund Navada <navada@ti.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
parent 445632ad
...@@ -2786,8 +2786,9 @@ int snd_soc_put_volsw_sx(struct snd_kcontrol *kcontrol, ...@@ -2786,8 +2786,9 @@ int snd_soc_put_volsw_sx(struct snd_kcontrol *kcontrol,
val = (ucontrol->value.integer.value[0] + min) & mask; val = (ucontrol->value.integer.value[0] + min) & mask;
val = val << shift; val = val << shift;
if (snd_soc_update_bits_locked(codec, reg, val_mask, val)) err = snd_soc_update_bits_locked(codec, reg, val_mask, val);
return err; if (err < 0)
return err;
if (snd_soc_volsw_is_stereo(mc)) { if (snd_soc_volsw_is_stereo(mc)) {
val_mask = mask << rshift; val_mask = mask << rshift;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment