kernel 5.4.11: problems with usb sound cards

edes
2020-02-01T13:58:37Z

Hello, list, I hope this is the right place to post this problem.

Changes introduced in 5.4.11 (seemingly, in drivers/usb/core/config.c)
cause problems with at least some models of USB sound cards.

I have a Sound Devices USBPre2, a high quality sound card that until
5.4.10 always worked perfectly out of the box as a standard USB audio
device.

Beginning with 5.4.11 and up to 5.5.0, when the sound card is connected,
dmesg shows:

[ 1310.743135] usb 3-10.3: new high-speed USB device number 6 using
xhci_hcd
[ 1310.755472] usb 3-10.3: config 1 interface 2 altsetting 1 has
a duplicate endpoint with address 0x85, skipping
[ 1310.755474] usb 3-10.3: config 1 interface 2 altsetting 2 has a
duplicate endpoint with address 0x85, skipping
[ 1310.755852] usb 3-10.3: New USB device found, idVendor=0926,
idProduct=0202, bcdDevice= 1.00
[ 1310.755853] usb 3-10.3: New USB device strings: Mfr=1, Product=2,
SerialNumber=3
[ 1310.755854] usb 3-10.3: Product: USBPre2
[ 1310.755855] usb 3-10.3: Manufacturer: Sound Devices
[ 1310.755855] usb 3-10.3: SerialNumber: HB1116132005
[ 1310.756803] usb 3-10.3: 1:3 : UAC_AS_GENERAL descriptor not found
[ 1310.757550] hid-generic 0003:0926:0202.0005: hiddev96: USB HID v1.01
Device
[Sound Devices USBPre2] on usb-0000:00:14.0-10.3/input3
[ 1310.773161] systemd-udevd[3856]: controlC0: Process '/usr/sbin/alsactl
restore 0' failed with exit code 99.

No capture device is created under /dev/snd, and the card works only as a
playback device.

ls -l /dev/snd
total 0
drwxr-xr-x 2 root root 60 feb 1 10:36 by-id
drwxr-xr-x 2 root root 60 feb 1 10:36 by-path
crw-rw----+ 1 root audio 116, 0 feb 1 10:36 controlC0
crw-rw----+ 1 root audio 116, 16 feb 1 10:36 pcmC0D0p
crw-rw----+ 1 root audio 116, 1 feb 1 10:14 seq
crw-rw----+ 1 root audio 116, 33 feb 1 10:14 timer

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: USBPre2 [USBPre2], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0

arecord -l
**** List of CAPTURE Hardware Devices ****

--