On Sun, 03 Jan 2021 19:15:48 +0100, František Kučera wrote:
Dne 03. 01. 21 v 18:19 Takashi Iwai napsal(a):
Could you give lsusb -v output as well as /proc/asound/card*/usbmixer and stream* files? The proc files are at best from both older and new kernels.
Here are the files. They look same. The only difference is in the stream0, but it is probably only formatting. I also attached the kern.log from the new version.
Thanks.
It must be something specific to the devices with the fixed stream qurik. Could you try the patch below?
Takashi
-- 8< -- --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c @@ -155,9 +155,6 @@ static int create_fixed_stream_quirk(struct snd_usb_audio *chip,
stream = (fp->endpoint & USB_DIR_IN) ? SNDRV_PCM_STREAM_CAPTURE : SNDRV_PCM_STREAM_PLAYBACK; - err = snd_usb_add_audio_stream(chip, stream, fp); - if (err < 0) - goto error; if (fp->iface != get_iface_desc(&iface->altsetting[0])->bInterfaceNumber || fp->altset_idx >= iface->num_altsetting) { err = -EINVAL; @@ -176,6 +173,11 @@ static int create_fixed_stream_quirk(struct snd_usb_audio *chip, fp->datainterval = snd_usb_parse_datainterval(chip, alts); if (fp->maxpacksize == 0) fp->maxpacksize = le16_to_cpu(get_endpoint(alts, 0)->wMaxPacketSize); + + err = snd_usb_add_audio_stream(chip, stream, fp); + if (err < 0) + goto error; + usb_set_interface(chip->dev, fp->iface, 0); snd_usb_init_pitch(chip, fp); snd_usb_init_sample_rate(chip, fp, fp->rate_max);