From 711c394d90cf2e055e8fa90a8559fb29ca07233f Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 19 Feb 2024 18:44:13 +0100 Subject: Revert "ASoC: ops: Check for negative values before reading them" This reverts commit 1c23070f17c5934e31db5c2dda79c681eedea538. --- sound/soc/soc-ops.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sound/soc/soc-ops.c b/sound/soc/soc-ops.c index d867f449d82d..e73360e9de8f 100644 --- a/sound/soc/soc-ops.c +++ b/sound/soc/soc-ops.c @@ -316,26 +316,26 @@ int snd_soc_put_volsw(struct snd_kcontrol *kcontrol, if (sign_bit) mask = BIT(sign_bit + 1) - 1; - if (ucontrol->value.integer.value[0] < 0) - return -EINVAL; val = ucontrol->value.integer.value[0]; if (mc->platform_max && ((int)val + min) > mc->platform_max) return -EINVAL; if (val > max - min) return -EINVAL; + if (val < 0) + return -EINVAL; val = (val + min) & mask; if (invert) val = max - val; val_mask = mask << shift; val = val << shift; if (snd_soc_volsw_is_stereo(mc)) { - if (ucontrol->value.integer.value[1] < 0) - return -EINVAL; val2 = ucontrol->value.integer.value[1]; if (mc->platform_max && ((int)val2 + min) > mc->platform_max) return -EINVAL; if (val2 > max - min) return -EINVAL; + if (val2 < 0) + return -EINVAL; val2 = (val2 + min) & mask; if (invert) val2 = max - val2; @@ -430,13 +430,13 @@ int snd_soc_put_volsw_sx(struct snd_kcontrol *kcontrol, int ret; unsigned int val, val_mask; - if (ucontrol->value.integer.value[0] < 0) - return -EINVAL; val = ucontrol->value.integer.value[0]; if (mc->platform_max && val > mc->platform_max) return -EINVAL; if (val > max - min) return -EINVAL; + if (val < 0) + return -EINVAL; val_mask = mask << shift; val = (val + min) & mask; val = val << shift; -- cgit v1.2.3