ALSA: snd-usb-audio: Skip un-parseable mixer units instead of erroring
authorMark Hills <mark@pogo.org.uk>
Sat, 14 Apr 2012 16:19:23 +0000 (17:19 +0100)
committerTakashi Iwai <tiwai@suse.de>
Sun, 15 Apr 2012 13:39:55 +0000 (15:39 +0200)
Some interfaces reference endpoints which do not exists. To
accomodate these, do not fail completely, but skip over them.

This allows the Electrix Ebox-44 with earlier firmware to be
detected and used for audio.

Signed-off-by: Mark Hills <mark@pogo.org.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/mixer.c

index ab23869c01bb6734073b65c6c397fe177224c217..c374c7242ab2255cd5331c8d9cc6b34526664347 100644 (file)
@@ -1388,7 +1388,7 @@ static int parse_audio_mixer_unit(struct mixer_build *state, int unitid, void *r
        for (pin = 0; pin < input_pins; pin++) {
                err = parse_audio_unit(state, desc->baSourceID[pin]);
                if (err < 0)
-                       return err;
+                       continue;
                err = check_input_term(state, desc->baSourceID[pin], &iterm);
                if (err < 0)
                        return err;