summaryrefslogtreecommitdiffstats
path: root/sound/usb/mixer.c
diff options
context:
space:
mode:
authorMark Hills <mark@pogo.org.uk>2012-04-14 17:19:23 +0100
committerTakashi Iwai <tiwai@suse.de>2012-04-15 15:39:55 +0200
commit284a8dd6f0fb16029198b5b34437499d504b567c (patch)
tree3521c94082d37a00fb6bc2cd2bfc15ece80d16f6 /sound/usb/mixer.c
parent507230c9997ef47147818508108b97b3e189826f (diff)
downloadlinux-284a8dd6f0fb16029198b5b34437499d504b567c.tar.bz2
ALSA: snd-usb-audio: Skip un-parseable mixer units instead of erroring
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>
Diffstat (limited to 'sound/usb/mixer.c')
-rw-r--r--sound/usb/mixer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
index ab23869c01bb..c374c7242ab2 100644
--- a/sound/usb/mixer.c
+++ b/sound/usb/mixer.c
@@ -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;