]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ALSA: fix selector unit bug affecting some USB speakerphones
authorRuss Cox <rsc@swtch.com>
Wed, 10 Oct 2007 13:15:12 +0000 (15:15 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 16 Nov 2007 17:30:21 +0000 (09:30 -0800)
patch 38977e96cb32e658716e11a05ec7f1fc4618e0f3 in mainline.

[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: Greg Kroah-Hartman <gregkh@suse.de>
sound/usb/usbmixer.c

index 325d4b6b54aafd7d4b942e9cf513b63cf393b534..19776e7f080ec93b856a6433aeea9b72bf782d06 100644 (file)
@@ -1483,7 +1483,7 @@ static int parse_audio_selector_unit(struct mixer_build *state, int unitid, unsi
        struct snd_kcontrol *kctl;
        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);
                return -EINVAL;
        }