]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ALSA: usb-audio: fix uac2 clock source at terminal parser
authorRené Rebe <rene@exactco.de>
Tue, 25 Nov 2025 14:41:49 +0000 (15:41 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 25 Nov 2025 14:53:39 +0000 (15:53 +0100)
Since 8b3a087f7f65 ("ALSA: usb-audio: Unify virtual type units type to
UAC3 values") usb-audio is using UAC3_CLOCK_SOURCE instead of
bDescriptorSubtype, later refactored with e0ccdef9265 ("ALSA: usb-audio:
Clean up check_input_term()") into parse_term_uac2_clock_source().

This breaks the clock source selection for at least my
1397:0003 BEHRINGER International GmbH FCA610 Pro.

Fix by using UAC2_CLOCK_SOURCE in parse_term_uac2_clock_source().

Fixes: 8b3a087f7f65 ("ALSA: usb-audio: Unify virtual type units type to UAC3 values")
Signed-off-by: René Rebe <rene@exactco.de>
Link: https://patch.msgid.link/20251125.154149.1121389544970412061.rene@exactco.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/mixer.c

index 72b900505d2c396e9f7e3e63ec888e1c8c58f28b..3af71d42b9b9aac1b4efd5c77262307b67c852bd 100644 (file)
@@ -921,7 +921,7 @@ static int parse_term_uac2_clock_source(struct mixer_build *state,
 {
        struct uac_clock_source_descriptor *d = p1;
 
-       term->type = UAC3_CLOCK_SOURCE << 16; /* virtual type */
+       term->type = UAC2_CLOCK_SOURCE << 16; /* virtual type */
        term->id = id;
        term->name = d->iClockSource;
        return 0;