summary refs log tree commit diff
path: root/sound/soc/soc-dapm.c
diff options
context:
space:
mode:
authorChen-Yu Tsai <wens@csie.org>2016-08-27 19:27:59 +0800
committerMark Brown <broonie@kernel.org>2016-09-01 21:05:24 +0100
commit071133a209354f39d4e5785d5a6a390e03241841 (patch)
tree42ef335b3003d03700aa28cb4ed52905dce2f27a /sound/soc/soc-dapm.c
parent01ad5e7de67b408d9b48b437b06a9938ddf460b5 (diff)
downloadlinux-071133a209354f39d4e5785d5a6a390e03241841.tar.gz
ASoC: dapm: Fix value setting for _ENUM_DOUBLE MUX's second channel
The value for the second channel in _ENUM_DOUBLE (double channel) MUXs
is not correctly updated, due to using the wrong bit shift.

Use the correct bit shift, so both channels toggle together.

Fixes: 3727b4968453 (ASoC: dapm: Consolidate MUXs and value MUXs)
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Reviewed-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/soc-dapm.c')
-rw-r--r--sound/soc/soc-dapm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index edff395faccf..76d41412725d 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -3203,7 +3203,7 @@ int snd_soc_dapm_put_enum_double(struct snd_kcontrol *kcontrol,
 	if (e->shift_l != e->shift_r) {
 		if (item[1] > e->items)
 			return -EINVAL;
-		val |= snd_soc_enum_item_to_val(e, item[1]) << e->shift_l;
+		val |= snd_soc_enum_item_to_val(e, item[1]) << e->shift_r;
 		mask |= e->mask << e->shift_r;
 	}