At Fri, 22 May 2015 09:37:24 +0200, Clemens Ladisch wrote: > > nightmixes wrote: > > kernel: usb 3-2: [4] FU [Line Playback Switch] ch = 1, val = 0/1/1 > > kernel: usb 3-2: [4] FU [Line Playback Volume] ch = 2, val = 0/255/1 > > kernel: usb 3-2: [2] FU [Line Playback Switch] ch = 1, val = 0/1/1 > > kernel: usb 3-2: [2] FU [Line Playback Volume] ch = 2, val = 0/255/1 > > kernel: usb 3-2: [7] FU [Master Playback Switch] ch = 1, val = 0/1/1 > > kernel: usb 3-2: [7] FU [Master Playback Volume] ch = 2, val = 0/255/1 > > kernel: usb 3-2: MU 11 has no bmControls field > > There's the culprit. Ignoring mixer unit 11 also ignores all other > units connected as sources. > > Try moving the bmControls check until after the source units have > been parsed, as in the patch below. > > > Regards, > Clemens > > > --- a/sound/usb/mixer.c > +++ b/sound/usb/mixer.c > @@ -1582,18 +1582,15 @@ static int parse_audio_mixer_unit(struct > unitid); > return -EINVAL; > } > - /* no bmControls field (e.g. Maya44) -> ignore */ > - if (desc->bLength <= 10 + input_pins) { > - usb_audio_dbg(state->chip, "MU %d has no bmControls field\n", > - unitid); > - return 0; > - } > > num_ins = 0; > ich = 0; > for (pin = 0; pin < input_pins; pin++) { > err = parse_audio_unit(state, desc->baSourceID[pin]); > if (err < 0) > continue; > + /* no bmControls field (e.g. Maya44) -> ignore */ > + if (desc->bLength <= 10 + input_pins) > + continue; > err = check_input_term(state, desc->baSourceID[pin], &iterm); > if (err < 0) Could you submit a proper patch for upstreaming? thanks, Takashi ------------------------------------------------------------------------------ _______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user