Unverified Commit 5871321f authored by Mark Brown's avatar Mark Brown
Browse files

ASoC: ops: Fix off by one in range control validation



We currently report that range controls accept a range of 0..(max-min) but
accept writes in the range 0..(max-min+1). Remove that extra +1.

Signed-off-by: default avatarMark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220604105246.4055214-1-broonie@kernel.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 073350da
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -526,7 +526,7 @@ int snd_soc_put_volsw_range(struct snd_kcontrol *kcontrol,
		return -EINVAL;
	if (mc->platform_max && tmp > mc->platform_max)
		return -EINVAL;
	if (tmp > mc->max - mc->min + 1)
	if (tmp > mc->max - mc->min)
		return -EINVAL;

	if (invert)
@@ -547,7 +547,7 @@ int snd_soc_put_volsw_range(struct snd_kcontrol *kcontrol,
			return -EINVAL;
		if (mc->platform_max && tmp > mc->platform_max)
			return -EINVAL;
		if (tmp > mc->max - mc->min + 1)
		if (tmp > mc->max - mc->min)
			return -EINVAL;

		if (invert)