]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ALSA: usb-audio: Skip clock selector for Focusrite devices
authorGeoffrey D. Bennett <g@b4.vu>
Fri, 20 Feb 2026 16:06:56 +0000 (02:36 +1030)
committerTakashi Iwai <tiwai@suse.de>
Mon, 23 Feb 2026 08:57:10 +0000 (09:57 +0100)
Add QUIRK_FLAG_SKIP_CLOCK_SELECTOR for Focusrite devices.

During interface parsing, snd_usb_clock_find_source() reads the clock
selector value then writes it back unchanged. On Focusrite devices
this redundant write results in a ~300ms delay per altsetting, adding
~1.8s to probe time on a typical device with 6 altsettings.

Enabling SKIP_CLOCK_SELECTOR skips the redundant write-back.

Signed-off-by: Geoffrey D. Bennett <g@b4.vu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/00e53ae0a508b41516b41833daa17823381a649c.1771594828.git.g@b4.vu
sound/usb/quirks.c

index b13d0f4d25ac00bd4d4426cee0d7514a4877e0f4..fbceed8e8d36fd387ee46d38eafaf8e462b250d4 100644 (file)
@@ -2424,6 +2424,7 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
        VENDOR_FLG(0x07fd, /* MOTU */
                   QUIRK_FLAG_VALIDATE_RATES),
        VENDOR_FLG(0x1235, /* Focusrite Novation */
+                  QUIRK_FLAG_SKIP_CLOCK_SELECTOR |
                   QUIRK_FLAG_SKIP_IFACE_SETUP),
        VENDOR_FLG(0x1511, /* AURALiC */
                   QUIRK_FLAG_DSD_RAW),