From: Jan Lentfer <jan.lentfer@web.de>
To: Takashi Iwai <tiwai@suse.de>
Cc: linux-sound@vger.kernel.org, regressions@lists.linux.dev
Subject: Re: [REGRESSION] ALSA: usb-audio: Behringer USB-MIDI output stalls, since "Use strings in struct usb_dev for manufacturer & co"
Date: Tue, 29 Sep 2026 13:42:04 +0200 [thread overview]
Message-ID: <272336a8-ab7c-4f9a-ac0c-c438b94caeca@web.de> (raw)
In-Reply-To: <875wzo2tya.wl-tiwai@suse.de>
> Thanks for the report.
>
> Can this be fixed by applying the same boot quirk for Behringer CM1A
> (something like below)?
>
> Or do we need explicit usb_string() calls instead? If yes, which one
> (iProduct, iManufacturer) matters?
>
>
> thanks,
>
> Takashi
>
> -- 8< --
> --- a/sound/usb/quirks.c
> +++ b/sound/usb/quirks.c
> @@ -1785,6 +1785,9 @@ int snd_usb_apply_boot_quirk_once(struct usb_device *dev,
> case USB_ID(0x07fd, 0x0008): /* MOTU M Series, 1st hardware version */
> return snd_usb_motu_m_series_boot_quirk(dev);
> case USB_ID(0x1397, 0x1234): /* Behringer CM1A */
> + case USB_ID(0x1397, 0x1230): /* Behringer K-2 Mk II */
> + case USB_ID(0x1397, 0x1249): /* Behringer Kobol Expander */
> + case USB_ID(0x1397, 0x1256): /* Behringer 2-XM */
> return snd_usb_cm1a_boot_quirk(dev);
> case USB_ID(0x2717, 0xd005): /* Xiaomi audio connector */
> snd_usb_xiaomi_boot_quirk(dev);
The CM1A quirk should be sufficient. No usb_string() is needed.
I reproduced the CM1A quirk's request from userspace on 7.2.8 (usbfs
USBDEVFS_CONTROL, no wake-up udev rule active):
1. Power-cycle the K-2 MK II and send notes: the output stalls as before
(rawmidi Tx 21, avail 4021, 7 bulk-OUT URBs pending).
2. Send a single GET_DESCRIPTOR(DEVICE, 18 bytes)
(80 06 0100 0000 0012), nothing else. The pending URBs complete
immediately (Tx 21 -> 96, buffer drained), and all following MIDI
output works.
A GET_DESCRIPTOR(STRING 2) instead has the same effect (tested
earlier). So it looks like any standard control request after
SET_CONFIGURATION wakes the endpoint, same as on the CM1A.
I have only verified this on the K-2 MK II (1397:1230). The KOBOL
EXPANDER (1397:1249) and 2-XM (1397:1256) run the same firmware
family, have identical descriptors and show the identical stall, so
I'd expect the quirk to cover them as well.
Thanks,
Jan
next prev parent reply other threads:[~2026-09-29 11:42 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-29 10:55 [REGRESSION] ALSA: usb-audio: Behringer USB-MIDI output stalls, since "Use strings in struct usb_dev for manufacturer & co" Jan Lentfer
2026-09-29 11:11 ` Takashi Iwai
2026-09-29 11:42 ` Jan Lentfer [this message]
2026-09-29 11:49 ` Takashi Iwai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=272336a8-ab7c-4f9a-ac0c-c438b94caeca@web.de \
--to=jan.lentfer@web.de \
--cc=linux-sound@vger.kernel.org \
--cc=regressions@lists.linux.dev \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox