On 18-12-2017 21:56, 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.
Turns out there is some output, I can't echo and plug, I need to plug, echo, replug. Dmesg outputs are attached.
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