[alsa-devel] [patch] ASoC: wm8904: harmless underflow in wm8904_put_deemph()

Dan Carpenter dan.carpenter at oracle.com
Tue Oct 13 09:08:18 CEST 2015


We try to check that "deemph" is zero or one, but because of an
underflow bug, it can also be negative.  It's fine, negative values are
handled as non-zero.  But it's messy and static checkers complain so
let's fix it.

Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>

diff --git a/sound/soc/codecs/wm8904.c b/sound/soc/codecs/wm8904.c
index b783743..2aa23f1 100644
--- a/sound/soc/codecs/wm8904.c
+++ b/sound/soc/codecs/wm8904.c
@@ -534,7 +534,7 @@ static int wm8904_put_deemph(struct snd_kcontrol *kcontrol,
 {
 	struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
 	struct wm8904_priv *wm8904 = snd_soc_codec_get_drvdata(codec);
-	int deemph = ucontrol->value.integer.value[0];
+	unsigned int deemph = ucontrol->value.integer.value[0];
 
 	if (deemph > 1)
 		return -EINVAL;


More information about the Alsa-devel mailing list