ALSA: usb-audio: Allow Focusrite devices to use low samplerates

Commit 05f254a636 ("ALSA: usb-audio:
Improve filtering of sample rates on Focusrite devices") changed the
check for max_rate in a way which was overly restrictive, forcing
devices to use very high samplerates if they support them, despite
support existing for lower rates as well.

This maintains the intended outcome (ensuring samplerates selected are
supported) while allowing devices with higher maximum samplerates to be
opened at all supported samplerates.

This patch was tested with a Clarett+ 8Pre USB

Fixes: 05f254a636 ("ALSA: usb-audio: Improve filtering of sample rates on Focusrite devices")
Signed-off-by: Tina Wuest <tina@wuest.me>
Link: https://patch.msgid.link/20250901092024.140993-1-tina@wuest.me
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Tina Wuest
2025-09-01 12:20:24 +03:00
committed by Takashi Iwai
parent d5f8458e34
commit cc8e91054c

View File

@@ -327,12 +327,16 @@ static bool focusrite_valid_sample_rate(struct snd_usb_audio *chip,
max_rate = combine_quad(&fmt[6]);
switch (max_rate) {
case 192000:
if (rate == 176400 || rate == 192000)
return true;
fallthrough;
case 96000:
if (rate == 88200 || rate == 96000)
return true;
fallthrough;
case 48000:
return (rate == 44100 || rate == 48000);
case 96000:
return (rate == 88200 || rate == 96000);
case 192000:
return (rate == 176400 || rate == 192000);
default:
usb_audio_info(chip,
"%u:%d : unexpected max rate: %u\n",