X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=sound%2Fisa%2Fopti9xx%2Fmiro.c;h=2a1e2f5d12c2abe78e99192d31c14d39b55b7f13;hb=5c0a889df56c9f6c5a68ec7aa222082569b35fd9;hp=d295936611f83b696dfedf87b6aa396a1c80981d;hpb=ebc283118ee448dcb6e6cae74a8a43f17a1ccc3f;p=linux-2.6-omap-h63xx.git diff --git a/sound/isa/opti9xx/miro.c b/sound/isa/opti9xx/miro.c index d295936611f..2a1e2f5d12c 100644 --- a/sound/isa/opti9xx/miro.c +++ b/sound/isa/opti9xx/miro.c @@ -22,7 +22,6 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include #include #include #include @@ -483,6 +482,10 @@ static int snd_miro_put_double(struct snd_kcontrol *kcontrol, /* equalizer elements */ + if (left < -0x7f || left > 0x7f || + right < -0x7f || right > 0x7f) + return -EINVAL; + if (left_old > 0x80) left_old = 0x80 - left_old; if (right_old > 0x80) @@ -520,6 +523,10 @@ static int snd_miro_put_double(struct snd_kcontrol *kcontrol, /* non-equalizer elements */ + if (left < 0 || left > 0x20 || + right < 0 || right > 0x20) + return -EINVAL; + left_old = 0x20 - left_old; right_old = 0x20 - right_old; @@ -662,7 +669,7 @@ static int __devinit snd_set_aci_init_values(struct snd_miro *miro) return 0; } -static int snd_miro_mixer(struct snd_miro *miro) +static int __devinit snd_miro_mixer(struct snd_miro *miro) { struct snd_card *card; unsigned int idx;