Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f298d2e4 authored by Mark Brown's avatar Mark Brown Committed by Greg Kroah-Hartman
Browse files

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



[ Upstream commit 5871321fb4558c55bf9567052b618ff0be6b975e ]

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>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent ede990cf
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -530,7 +530,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)
@@ -551,7 +551,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)