summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/mt6358.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2023-02-26 13:47:57 +0100
committerMark Brown <broonie@kernel.org>2023-02-28 14:58:41 +0100
commit8e847a43c28fca0aaa11fba8f91da7dfd9d6936f (patch)
treeb78fe87482a5899a58f6c74bef91d4d487125759 /sound/soc/codecs/mt6358.c
parentASoC: mt6358: Fix event generation for wake on voice stage 2 switch (diff)
downloadlinux-8e847a43c28fca0aaa11fba8f91da7dfd9d6936f.tar.xz
linux-8e847a43c28fca0aaa11fba8f91da7dfd9d6936f.zip
ASoC: mt6358: Validate Wake on Voice 2 writes
Currently the Wake on Voice 2 control accepts and stores any value written but it reports that only 0 and 1 are valid values. Reject any out of range values written by userspace. Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20230224-asoc-mt6358-quick-fixes-v1-2-747d9186be4b@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/mt6358.c')
-rw-r--r--sound/soc/codecs/mt6358.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/codecs/mt6358.c b/sound/soc/codecs/mt6358.c
index 9004377461f7..89d0dcb2635b 100644
--- a/sound/soc/codecs/mt6358.c
+++ b/sound/soc/codecs/mt6358.c
@@ -560,6 +560,9 @@ static int mt6358_put_wov(struct snd_kcontrol *kcontrol,
struct mt6358_priv *priv = snd_soc_component_get_drvdata(c);
int enabled = ucontrol->value.integer.value[0];
+ if (enabled < 0 || enabled > 1)
+ return -EINVAL;
+
if (priv->wov_enabled != enabled) {
if (enabled)
mt6358_enable_wov_phase2(priv);