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>
This commit is contained in:
parent
01ad5e7de6
commit
071133a209
@ -3203,7 +3203,7 @@ int snd_soc_dapm_put_enum_double(struct snd_kcontrol *kcontrol,
|
|||||||
if (e->shift_l != e->shift_r) {
|
if (e->shift_l != e->shift_r) {
|
||||||
if (item[1] > e->items)
|
if (item[1] > e->items)
|
||||||
return -EINVAL;
|
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;
|
mask |= e->mask << e->shift_r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user