[ALSA] fix selector unit bug affecting some USB speakerphones
Following the suggestion in this thread: https://bugs.launchpad.net/ubuntu/+source/alsa-lib/+bug/26683 the correct upper bound on desc[0] is 5 + num_ins not 6 + num_ins, because the index used later is 5+i, not 6+i. This change makes my Vosky Chatterbox speakerphone work. Apparently it also helps with the Minivox MV100. Signed-off-by: Russ Cox <rsc@swtch.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
This commit is contained in:
parent
6ed44ad3eb
commit
38977e96cb
|
@ -1483,7 +1483,7 @@ static int parse_audio_selector_unit(struct mixer_build *state, int unitid, unsi
|
||||||
struct snd_kcontrol *kctl;
|
struct snd_kcontrol *kctl;
|
||||||
char **namelist;
|
char **namelist;
|
||||||
|
|
||||||
if (! num_ins || desc[0] < 6 + num_ins) {
|
if (! num_ins || desc[0] < 5 + num_ins) {
|
||||||
snd_printk(KERN_ERR "invalid SELECTOR UNIT descriptor %d\n", unitid);
|
snd_printk(KERN_ERR "invalid SELECTOR UNIT descriptor %d\n", unitid);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue