mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] ALSA: usb-audio: Apply boot quirk for some Behringer models
@ 2026-09-29 12:03 Takashi Iwai
  2026-09-29 12:19 ` Jan Lentfer
  0 siblings, 1 reply; 3+ messages in thread
From: Takashi Iwai @ 2026-09-29 12:03 UTC (permalink / raw)
  To: linux-sound; +Cc: Jan Lentfer, linux-kernel

Jan reported that a few Behringer devices became broken since the
recent optimization to avoid usb_string() call at probe time at the
commit b364a0d23cae ("ALSA: usb-audio: Use strings in struct usb_dev
for manufacturer & co").  Interestingly, the devices seem requiring
the explicit descriptor read at probing time, and the optimization
above dropped it.

There is already a boot quirk for another model, Behringer CM1A
(1397:1234), that adds a device descriptor read, and this seems
working for them, too.  So just apply the same boot quirk to those
affected models:
 - Behringer K-2 Mk II (1397:1230)
 - Behringer Kobol Expander (1397:1249)
 - Behringer 2-XM (1397:1256)

Fixes: b364a0d23cae ("ALSA: usb-audio: Use strings in struct usb_dev for manufacturer & co")
Reported-and-tested-by: Jan Lentfer <jan.lentfer@web.de>
Closes: https://lore.kernel.org/e7087d42-5e74-4d85-b1c5-b11eff235d41@web.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/usb/quirks.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index 294c7026b93c..de6a82a42eb7 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1702,7 +1702,10 @@ int snd_usb_apply_boot_quirk_once(struct usb_device *dev,
 	switch (id) {
 	case USB_ID(0x07fd, 0x0008): /* MOTU M Series, 1st hardware version */
 		return snd_usb_motu_m_series_boot_quirk(dev);
+	case USB_ID(0x1397, 0x1230): /* Behringer K-2 Mk II */
 	case USB_ID(0x1397, 0x1234): /* Behringer CM1A */
+	case USB_ID(0x1397, 0x1249): /* Behringer Kobol Expander */
+	case USB_ID(0x1397, 0x1256): /* Behringer 2-XM */
 		return snd_usb_cm1a_boot_quirk(dev);
 	}
 
-- 
2.55.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] ALSA: usb-audio: Apply boot quirk for some Behringer models
  2026-09-29 12:03 [PATCH] ALSA: usb-audio: Apply boot quirk for some Behringer models Takashi Iwai
@ 2026-09-29 12:19 ` Jan Lentfer
  2026-09-29 12:27   ` Takashi Iwai
  0 siblings, 1 reply; 3+ messages in thread
From: Jan Lentfer @ 2026-09-29 12:19 UTC (permalink / raw)
  To: Takashi Iwai, linux-sound; +Cc: linux-kernel

> Jan reported that a few Behringer devices became broken since the
> recent optimization to avoid usb_string() call at probe time at the
> commit b364a0d23cae ("ALSA: usb-audio: Use strings in struct usb_dev
> for manufacturer & co").  Interestingly, the devices seem requiring
> the explicit descriptor read at probing time, and the optimization
> above dropped it.
>
> There is already a boot quirk for another model, Behringer CM1A
> (1397:1234), that adds a device descriptor read, and this seems
> working for them, too.  So just apply the same boot quirk to those
> affected models:
>   - Behringer K-2 Mk II (1397:1230)
>   - Behringer Kobol Expander (1397:1249)
>   - Behringer 2-XM (1397:1256)
>
> Fixes: b364a0d23cae ("ALSA: usb-audio: Use strings in struct usb_dev for manufacturer & co")
> Reported-and-tested-by: Jan Lentfer<jan.lentfer@web.de>
> Closes:https://lore.kernel.org/e7087d42-5e74-4d85-b1c5-b11eff235d41@web.de
> Signed-off-by: Takashi Iwai<tiwai@suse.de>
> ---
>   sound/usb/quirks.c | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
> index 294c7026b93c..de6a82a42eb7 100644
> --- a/sound/usb/quirks.c
> +++ b/sound/usb/quirks.c
> @@ -1702,7 +1702,10 @@ int snd_usb_apply_boot_quirk_once(struct usb_device *dev,
>   	switch (id) {
>   	case USB_ID(0x07fd, 0x0008): /* MOTU M Series, 1st hardware version */
>   		return snd_usb_motu_m_series_boot_quirk(dev);
> +	case USB_ID(0x1397, 0x1230): /* Behringer K-2 Mk II */
>   	case USB_ID(0x1397, 0x1234): /* Behringer CM1A */
> +	case USB_ID(0x1397, 0x1249): /* Behringer Kobol Expander */
> +	case USB_ID(0x1397, 0x1256): /* Behringer 2-XM */
>   		return snd_usb_cm1a_boot_quirk(dev);
>   	}
>   
> -- 


Hi Takashi,

thanks a lot for the quick patch!

One thought on the scope: Behringer sells a large number of synths and
drum machines that seem to share the same USB-MIDI firmware platform
(the ones managed by their "SynthTribe" tool). The three models in the
patch are simply the ones I tested first. Meanwhile I checked another
one I own, the CAT (1397:1224): it shows exactly the same stall, and a
single GET_DESCRIPTOR(DEVICE) from userspace fixes it as well. With the
CM1A that makes five different 1397 products needing the same wake-up,
so I'd expect more models to be affected and to show up one by one.

Since the quirk is just one extra GET_DESCRIPTOR(DEVICE) at probe time,
which should be harmless for any USB device, would it make sense to
apply it to the whole vendor ID 0x1397 instead of individual product
IDs?

For reference, what I have seen so far (7.2.7/7.2.8, device hot-plugged,
no wake-up in place):

   1397:1224  CAT               stalls, fixed by GET_DESCRIPTOR(DEVICE)
   1397:1230  K-2 MK II         stalls, fixed by GET_DESCRIPTOR(DEVICE)
   1397:1249  Kobol Expander    stalls
   1397:1256  2-XM              stalls
   1397:125f  PRO 800           fine
   1397:12a7  Grind             fine
   26a0:0040  Neutron           fine (different vendor ID)

So it looks like an older firmware generation is affected and newer
models are not, but that's only a guess from these few devices.

Either way, a vendor-wide read would not hurt the ones that don't
need it.

Also, to be precise about the Tested-by: I verified the fix by issuing
the same GET_DESCRIPTOR(DEVICE) request from userspace, not with a
kernel carrying your patch. I'm happy to test the patch itself if you
want the tag to reflect that.

Thanks,
Jan


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] ALSA: usb-audio: Apply boot quirk for some Behringer models
  2026-09-29 12:19 ` Jan Lentfer
@ 2026-09-29 12:27   ` Takashi Iwai
  0 siblings, 0 replies; 3+ messages in thread
From: Takashi Iwai @ 2026-09-29 12:27 UTC (permalink / raw)
  To: Jan Lentfer; +Cc: Takashi Iwai, linux-sound, linux-kernel

On Tue, 29 Sep 2026 14:19:45 +0200,
Jan Lentfer wrote:
> 
> > Jan reported that a few Behringer devices became broken since the
> > recent optimization to avoid usb_string() call at probe time at the
> > commit b364a0d23cae ("ALSA: usb-audio: Use strings in struct usb_dev
> > for manufacturer & co").  Interestingly, the devices seem requiring
> > the explicit descriptor read at probing time, and the optimization
> > above dropped it.
> > 
> > There is already a boot quirk for another model, Behringer CM1A
> > (1397:1234), that adds a device descriptor read, and this seems
> > working for them, too.  So just apply the same boot quirk to those
> > affected models:
> >   - Behringer K-2 Mk II (1397:1230)
> >   - Behringer Kobol Expander (1397:1249)
> >   - Behringer 2-XM (1397:1256)
> > 
> > Fixes: b364a0d23cae ("ALSA: usb-audio: Use strings in struct usb_dev for manufacturer & co")
> > Reported-and-tested-by: Jan Lentfer<jan.lentfer@web.de>
> > Closes:https://lore.kernel.org/e7087d42-5e74-4d85-b1c5-b11eff235d41@web.de
> > Signed-off-by: Takashi Iwai<tiwai@suse.de>
> > ---
> >   sound/usb/quirks.c | 3 +++
> >   1 file changed, 3 insertions(+)
> > 
> > diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
> > index 294c7026b93c..de6a82a42eb7 100644
> > --- a/sound/usb/quirks.c
> > +++ b/sound/usb/quirks.c
> > @@ -1702,7 +1702,10 @@ int snd_usb_apply_boot_quirk_once(struct usb_device *dev,
> >   	switch (id) {
> >   	case USB_ID(0x07fd, 0x0008): /* MOTU M Series, 1st hardware version */
> >   		return snd_usb_motu_m_series_boot_quirk(dev);
> > +	case USB_ID(0x1397, 0x1230): /* Behringer K-2 Mk II */
> >   	case USB_ID(0x1397, 0x1234): /* Behringer CM1A */
> > +	case USB_ID(0x1397, 0x1249): /* Behringer Kobol Expander */
> > +	case USB_ID(0x1397, 0x1256): /* Behringer 2-XM */
> >   		return snd_usb_cm1a_boot_quirk(dev);
> >   	}
> >   
> > -- 
> 
> 
> Hi Takashi,
> 
> thanks a lot for the quick patch!
> 
> One thought on the scope: Behringer sells a large number of synths and
> drum machines that seem to share the same USB-MIDI firmware platform
> (the ones managed by their "SynthTribe" tool). The three models in the
> patch are simply the ones I tested first. Meanwhile I checked another
> one I own, the CAT (1397:1224): it shows exactly the same stall, and a
> single GET_DESCRIPTOR(DEVICE) from userspace fixes it as well. With the
> CM1A that makes five different 1397 products needing the same wake-up,
> so I'd expect more models to be affected and to show up one by one.
> 
> Since the quirk is just one extra GET_DESCRIPTOR(DEVICE) at probe time,
> which should be harmless for any USB device, would it make sense to
> apply it to the whole vendor ID 0x1397 instead of individual product
> IDs?

Makes sense.

> For reference, what I have seen so far (7.2.7/7.2.8, device hot-plugged,
> no wake-up in place):
> 
>   1397:1224  CAT               stalls, fixed by GET_DESCRIPTOR(DEVICE)
>   1397:1230  K-2 MK II         stalls, fixed by GET_DESCRIPTOR(DEVICE)
>   1397:1249  Kobol Expander    stalls
>   1397:1256  2-XM              stalls
>   1397:125f  PRO 800           fine
>   1397:12a7  Grind             fine
>   26a0:0040  Neutron           fine (different vendor ID)
> 
> So it looks like an older firmware generation is affected and newer
> models are not, but that's only a guess from these few devices.
> 
> Either way, a vendor-wide read would not hurt the ones that don't
> need it.
> 
> Also, to be precise about the Tested-by: I verified the fix by issuing
> the same GET_DESCRIPTOR(DEVICE) request from userspace, not with a
> kernel carrying your patch. I'm happy to test the patch itself if you
> want the tag to reflect that.

Let me respin the fix patch.


thanks,

Takashi

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-09-29 12:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-29 12:03 [PATCH] ALSA: usb-audio: Apply boot quirk for some Behringer models Takashi Iwai
2026-09-29 12:19 ` Jan Lentfer
2026-09-29 12:27   ` Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®