The same changes that are applied to the snd_soc_put_volsw should also
be applied
to the volsw_sx and xr_sx put callback functions.
Most of the Qualcomm codecs set the volume levels of controls like this
-- SOC_SINGLE_SX_TLV("IIR1 INP1 Volume", LPASS_CDC_IIR1_GAIN_B1_CTL, 0,
-84, 40, digital_gain) --
which causes the values from the caller to be rejected incorrectly on
the put callback function.
It took me a lot of time to debug this but because those two functions
aren't changed
in this patch, it creates an issue where some Android phones have extremely
high amplification on the sidetone mixer during calls which in turn causes
a feedback loop because the kernel can't set the correct level on the
controls.