@@ -1600,28 +1600,28 @@ static const struct snd_soc_dapm_route tx_audio_map[] = {
static const struct snd_kcontrol_new tx_macro_snd_controls[] = {
SOC_SINGLE_S8_TLV("TX_DEC0 Volume",
CDC_TX0_TX_VOL_CTL,
- -84, 40, digital_gain),
+ 0, 124, digital_gain),
SOC_SINGLE_S8_TLV("TX_DEC1 Volume",
CDC_TX1_TX_VOL_CTL,
- -84, 40, digital_gain),
+ 0, 124, digital_gain),
SOC_SINGLE_S8_TLV("TX_DEC2 Volume",
CDC_TX2_TX_VOL_CTL,
- -84, 40, digital_gain),
+ 0, 124, digital_gain),
SOC_SINGLE_S8_TLV("TX_DEC3 Volume",
CDC_TX3_TX_VOL_CTL,
- -84, 40, digital_gain),
+ 0, 124, digital_gain),
SOC_SINGLE_S8_TLV("TX_DEC4 Volume",
CDC_TX4_TX_VOL_CTL,
- -84, 40, digital_gain),
+ 0, 124, digital_gain),
SOC_SINGLE_S8_TLV("TX_DEC5 Volume",
CDC_TX5_TX_VOL_CTL,
- -84, 40, digital_gain),
+ 0, 124, digital_gain),
SOC_SINGLE_S8_TLV("TX_DEC6 Volume",
CDC_TX6_TX_VOL_CTL,
- -84, 40, digital_gain),
+ 0, 124, digital_gain),
SOC_SINGLE_S8_TLV("TX_DEC7 Volume",
CDC_TX7_TX_VOL_CTL,
- -84, 40, digital_gain),
+ 0, 124, digital_gain),
SOC_ENUM_EXT("DEC0 MODE", dec_mode_mux_enum[0],
tx_macro_dec_mode_get, tx_macro_dec_mode_put),
on Qualcomm codecs gain tlv control specifies min max range as both negative to positive numbers like SOC_SINGLE_S8_TLV("... Volume", .., -84, 40, gain) However with recent boundary checks added in commit 817f7c9335ec0 ("ASoC: ops: Reject out of bounds values in snd_soc_put_volsw()) setting a value above 40 gain will fail. So fix this min max range correctly to SOC_SINGLE_S8_TLV("... Volume", .., 0, 124, gain) so that users can now set gain correctly Fixes: c39667ddcfc5 ("ASoC: codecs: lpass-tx-macro: add support for lpass tx macro") Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> --- sound/soc/codecs/lpass-tx-macro.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-)