]> www.infradead.org Git - users/hch/misc.git/commitdiff
ASoC: ops: improve snd_soc_get_volsw
authorNiranjan H Y <niranjan.hy@ti.com>
Fri, 12 Sep 2025 08:36:20 +0000 (14:06 +0530)
committerMark Brown <broonie@kernel.org>
Mon, 22 Sep 2025 12:00:38 +0000 (14:00 +0200)
* clamp the values if the register value read is
  out of range

Signed-off-by: Niranjan H Y <niranjan.hy@ti.com>
[This patch originally had two changes in it, I removed a second buggy
 one -- broonie]
--
v5:
 - remove clamp parameter
 - move the boundary check after sign-bit extension
Link: https://patch.msgid.link/20250912083624.804-1-niranjan.hy@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-ops.c

index a629e0eacb20eb24980ea54754c634da15b67f66..d2b6fb8e0b6c695a0ac3f5b38be940dc8a589ab3 100644 (file)
@@ -118,6 +118,7 @@ static int soc_mixer_reg_to_ctl(struct soc_mixer_control *mc, unsigned int reg_v
        if (mc->sign_bit)
                val = sign_extend32(val, mc->sign_bit);
 
+       val = clamp(val, mc->min, mc->max);
        val -= mc->min;
 
        if (mc->invert)