]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ALSA: usb-audio: add clock quirk for Motu 1248
authorNicola Lunghi <nick83ola@gmail.com>
Mon, 4 May 2026 14:45:20 +0000 (16:45 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 4 May 2026 15:50:02 +0000 (17:50 +0200)
The Motu 1248 (and probably other older Motu AVB interfaces) take more
than 2 seconds to switch clock. During the clock switching process the
device return that the clock is not valid. This is similar to what
already implemented for the Microbook II interface. Add the Motu
1248 usb id to the existing Motu quirk.

Signed-off-by: Nicola Lunghi <nick83ola@gmail.com>
Link: https://patch.msgid.link/20260504144520.699522-2-nick83ola@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/clock.c

index 842ba5b801eae83f29d5d41e47db6291f8e5f034..2e0c18e352812359c3a90cd36d0fe9cf7672bf32 100644 (file)
@@ -208,11 +208,18 @@ static bool uac_clock_source_is_valid_quirk(struct snd_usb_audio *chip,
        }
 
        /*
-        * MOTU MicroBook IIc
-        * Sample rate changes takes more than 2 seconds for this device. Clock
-        * validity request returns false during that period.
+        * Quirk for older MOTU AVB / hybrid interfaces
+        *
+        * These devices take more than 2 seconds to switch sample rate or
+        * clock source. During this period the clock validity request
+        * returns false, causing ALSA to fail prematurely.
+        *
+        * Affected models (all use vendor 0x07fd):
+        *   - MicroBook IIc          → 0x0004
+        *   - 1248, 624, 8A, UltraLite AVB, 8M, 16A, ... → 0x0005
         */
-       if (chip->usb_id == USB_ID(0x07fd, 0x0004)) {
+       if (chip->usb_id == USB_ID(0x07fd, 0x0004) ||  /* MicroBook IIc */
+           chip->usb_id == USB_ID(0x07fd, 0x0005)) {  /* 1248 / 624 / 8A / UltraLite AVB / ... */
                count = 0;
 
                while ((!ret) && (count < 50)) {