Skip to content

Commit f807858

Browse files
antonswtiwai
authored andcommitted
ALSA: usb-audio: Add quirk flags for AlphaTheta EUPHONIA
The AlphaTheta EUPHONIA (VID 0x2b73, PID 0x0047) is a USB Audio Class 2 DJ mixer that requires implicit feedback for full-duplex operation. The capture endpoint (0x83 IN, interface 2) acts as the implicit feedback source for the playback endpoint (0x03 OUT, interface 1), and the device firmware does not send isochronous data on the capture endpoint unless the host is simultaneously sending data on the playback endpoint, i.e. playback must be started first. Without QUIRK_FLAG_PLAYBACK_FIRST the kernel waits for capture URBs before submitting playback URBs, creating a deadlock: the device waits for playback data and the host waits for capture data. Without QUIRK_FLAG_GENERIC_IMPLICIT_FB the kernel does not detect the implicit feedback relationship between the two interfaces. The same flag combination is already used for the Behringer UMC202HD, UMC204HD and UMC404HD (0x1397:0x0507/0x0508/0x0509), which exhibit the identical implicit-feedback topology. Tested on Raspberry Pi 5 with kernel 6.12.75; continuous full-duplex streaming at 96 kHz / 24-bit, zero XRUNs. Signed-off-by: Anton Swart <anton.swart.jhb@gmail.com> Link: https://patch.msgid.link/20260503211517.14332-1-anton.swart.jhb@gmail.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
1 parent 359b626 commit f807858

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

sound/usb/quirks.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2460,6 +2460,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
24602460
QUIRK_FLAG_GENERIC_IMPLICIT_FB),
24612461
DEVICE_FLG(0x2b53, 0x0031, /* Fiero SC-01 (firmware v1.1.0) */
24622462
QUIRK_FLAG_GENERIC_IMPLICIT_FB),
2463+
DEVICE_FLG(0x2b73, 0x0047, /* AlphaTheta EUPHONIA */
2464+
QUIRK_FLAG_PLAYBACK_FIRST | QUIRK_FLAG_GENERIC_IMPLICIT_FB),
24632465
DEVICE_FLG(0x2d95, 0x8011, /* VIVO USB-C HEADSET */
24642466
QUIRK_FLAG_CTL_MSG_DELAY_1M),
24652467
DEVICE_FLG(0x2d95, 0x8021, /* VIVO USB-C-XE710 HEADSET */

0 commit comments

Comments
 (0)