]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commitdiff
ALSA: usb-audio: Avoid implicit feedback mode on DIYINHK USB Audio 2.0
authorTakashi Iwai <tiwai@suse.de>
Wed, 25 Feb 2026 08:52:30 +0000 (09:52 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 25 Feb 2026 09:17:28 +0000 (10:17 +0100)
Although DIYINHK USB Audio 2.0 (ID 20b1:2009) shows the implicit
feedback source for the capture stream, this would cause several
problems for the playback.  Namely, the device can get wMaxPackSize
1024 for 24/32 bit format with 6 channels, and when a high sample rate
like 352.8kHz or 384kHz is played, the packet size overflows the max
limit.  Also, the device has another two playback altsets, and those
aren't properly handled with the implicit feedback.

Since the device has been working well even before introducing the
implicit feedback, we can assume that it works fine in the async mode.
This patch adds the explicit skip of the implicit fb detection to make
the playback running in the async mode.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=221076
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20260225085233.316306-4-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/quirks.c

index fbceed8e8d36fd387ee46d38eafaf8e462b250d4..c6a78efbcaa3060048e8081470811556a36ea625 100644 (file)
@@ -2365,6 +2365,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
                   QUIRK_FLAG_SHARE_MEDIA_DEVICE | QUIRK_FLAG_ALIGN_TRANSFER),
        DEVICE_FLG(0x2040, 0x7281, /* Hauppauge HVR-950Q-MXL */
                   QUIRK_FLAG_SHARE_MEDIA_DEVICE | QUIRK_FLAG_ALIGN_TRANSFER),
+       DEVICE_FLG(0x20b1, 0x2009, /* XMOS Ltd DIYINHK USB Audio 2.0 */
+                  QUIRK_FLAG_SKIP_IMPLICIT_FB | QUIRK_FLAG_DSD_RAW),
        DEVICE_FLG(0x2040, 0x8200, /* Hauppauge Woodbury */
                   QUIRK_FLAG_SHARE_MEDIA_DEVICE | QUIRK_FLAG_ALIGN_TRANSFER),
        DEVICE_FLG(0x21b4, 0x0081, /* AudioQuest DragonFly */