On Mon, 18 Dec 2017 17:59:38 +0100, Jaejoong Kim wrote: > > AudioControl Interface Descriptor: > bLength 8 > bDescriptorType 36 > bDescriptorSubtype 5 (SELECTOR_UNIT) > bUnitID 11 > bNrInPins 2 > baSource( 0) 14 > baSource( 1) 5 > iSelector 0 > ^^^^^^^^^ > > >From the lsusb.txt, iSelector is '0' which means > uac_selector_unit_iSelector() return zero I think. Yes, and in that case, nameid=0, thus it should go to get_term_name(), and there must be no difference. If any difference came from the given commit, it must be nameid!=0, and yet snd_usb_copy_string_desc(namei) returns an error. In anyway, another potential fix would be the patch like below. It covers the case where an error is returned from snb_usb_copy_string_desc() and doesn't fall back to the default name resolution. thanks, Takashi --- a/sound/usb/mixer.c +++ b/sound/usb/mixer.c @@ -656,10 +656,14 @@ static int get_term_name(struct mixer_build *state, struct usb_audio_term *iterm unsigned char *name, int maxlen, int term_only) { struct iterm_name_combo *names; + int len; - if (iterm->name) - return snd_usb_copy_string_desc(state, iterm->name, + if (iterm->name) { + len = snd_usb_copy_string_desc(state, iterm->name, name, maxlen); + if (len) + return len; + } /* virtual type - not a real terminal */ if (iterm->type >> 16) { -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html