diff --git a/sound/soc/soc-ops.c b/sound/soc/soc-ops.c index 7b5e20789ba2..28ceddeb1475 100644 --- a/sound/soc/soc-ops.c +++ b/sound/soc/soc-ops.c @@ -449,7 +449,7 @@ int snd_soc_put_volsw_sx(struct snd_kcontrol *kcontrol, unsigned int val, val_mask, val2 = 0; val = ucontrol->value.integer.value[0]; - if (mc->platform_max && ((int)val + min) > mc->platform_max) + if (mc->platform_max && val > mc->platform_max) return -EINVAL; if (val > max) return -EINVAL; @@ -946,12 +946,11 @@ int snd_soc_put_xr_sx(struct snd_kcontrol *kcontrol, unsigned int invert = mc->invert; unsigned long mask = (1UL<nbits)-1; long max = mc->max; - long min = mc->min; long val = ucontrol->value.integer.value[0]; unsigned int i, regval, regmask; int err; - if (val < mc->min || ((int)val + min) > mc->max) + if (val < mc->min || val > mc->max) return -EINVAL; if (invert) val = max - val;