On Tue, 19 Dec 2017 02:04:51 +0100, Mauro Santos wrote: > > On 18-12-2017 22:48, Takashi Iwai wrote: > > On Mon, 18 Dec 2017 22:56:07 +0100, > > Mauro Santos wrote: > >> > >> On 18-12-2017 19:30, Takashi Iwai wrote: > >>> On Mon, 18 Dec 2017 20:10:44 +0100, > >>> Mauro Santos wrote: > >>>> > >>>> On 18-12-2017 17:50, Jaejoong Kim wrote: > >>>>> Mauro, > >>>>> > >>>>> Could you please try debug patch(I also attach the patch file)? > >>>> > >>>> With the attached patch I get the following when plugging in the usb dac > >>>> directly to a usb3 port: > >>>> [ 54.391539] usb 1-2: new full-speed USB device number 7 using xhci_hcd > >>>> [ 54.514996] usb 1-2: device descriptor read/64, error -71 > >>>> [ 54.849808] input: HiFimeDIY Audio HiFimeDIY DAC as > >>>> /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:1852:7022.0003/input/input20 > >>>> [ 54.850168] hid-generic 0003:1852:7022.0003: input,hidraw2: USB HID > >>>> v1.00 Device [HiFimeDIY Audio HiFimeDIY DAC] on usb-0000:00:14.0-2/input0 > >>>> [ 54.950421] usb 1-2: [DEBUG] nameid:0, len:0 > >>>> [ 54.950426] usb 1-2: [DEBUG] len:3, get_term_name:PCM > >>>> [ 54.950429] usb 1-2: [11] SU [PCM] items = 2 > >>>> [ 54.950985] usbcore: registered new interface driver snd-usb-audio > >>> > >>> Hmm, the driver get the supposedly correct name string here, so I see > >>> no flaw, so far. > >>> > >>> Could you put the similar debug prints after reverting the commit and > >>> compare? Or, at minimum, you can enable simply the kernel debug > >>> prints like below: > >>> > >>> % echo "file sound/usb/mixer.c +p" > /sys/kernel/debug/dynamic_debug_control > >>> > >>> and re-plug the device. > >>> > >>> Also, could you attach the output of "amixer contents" on both working > >>> and non-working kernels? > >>> > >> > >> I have compiled a new kernel where I have reverted the commit and I've > >> added the debug output based on your last debug patch. I attach the > >> patch that reverts the changes and adds the debug output just in case > >> anyone wants to do a sanity check on it (don't mind the indentation I > >> think I botched that). > >> > >> With the debug patches I get no extra output when echoing to the > >> dynamic_debug/control file, I guess that's expected. > >> > >> I attach the dmesg and amixer outputs for the case without revert plus > >> debug (bad) and revert plus debug (good). > >> > >> One change does jump out: > >> > >> bad: usb 1-2: [11] SU [PCM] items = 2 > >> good: usb 1-2: [11] SU [PCM Capture Source] items = 2 > > > > Thanks, that explains what went wrong. The commit dropped the brace > > at the if-line, and it ended up with the lack of suffix unless > > get_term_name() fails. > > > > The fix patch is below. Could you check whether it cures the issue? > > This patch does seem to work fine for me, I can see all the mixer > controls for the usb soundcard/dac. > > For good measure I have also tested with a couple of usb headsets and I > didn't see anything amiss (they don't have any "Capture Source" controls > though). > > Thank you for looking into this and fixing it. Good to hear, I queued the fix to for-linus branch. I'm going to send a pull request for rc5. thanks, Takashi -- 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