summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-09-27 14:56:19 +0100
committerMark Brown <broonie@linaro.org>2013-09-27 14:56:19 +0100
commit448c3f6884700fc467669d4453b7f5983a5ba1cb (patch)
tree1addb010e0985ed82dc3a62988f44068a3ca7116
parent4a10c2ac2f368583138b774ca41fac4207911983 (diff)
parentd967967e8d1116fb38bad25e58714b5dddd03cca (diff)
Merge remote-tracking branch 'asoc/fix/88pm860x' into asoc-linus
-rw-r--r--sound/soc/codecs/88pm860x-codec.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/codecs/88pm860x-codec.c b/sound/soc/codecs/88pm860x-codec.c
index 8af04343cc1..259d1ac4492 100644
--- a/sound/soc/codecs/88pm860x-codec.c
+++ b/sound/soc/codecs/88pm860x-codec.c
@@ -349,6 +349,9 @@ static int snd_soc_put_volsw_2r_st(struct snd_kcontrol *kcontrol,
val = ucontrol->value.integer.value[0];
val2 = ucontrol->value.integer.value[1];
+ if (val >= ARRAY_SIZE(st_table) || val2 >= ARRAY_SIZE(st_table))
+ return -EINVAL;
+
err = snd_soc_update_bits(codec, reg, 0x3f, st_table[val].m);
if (err < 0)
return err;