This is a note to let you know that I've just added the patch titled ALSA: usb-audio: Don't abort even if the clock rate differs to the 5.11-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: alsa-usb-audio-don-t-abort-even-if-the-clock-rate-differs.patch and it can be found in the queue-5.11 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From dcf269b3f703f5dbc2101824d9dbe95feed87b3d Mon Sep 17 00:00:00 2001 From: Takashi Iwai <tiwai@xxxxxxx> Date: Sat, 27 Feb 2021 09:20:02 +0100 Subject: ALSA: usb-audio: Don't abort even if the clock rate differs From: Takashi Iwai <tiwai@xxxxxxx> commit dcf269b3f703f5dbc2101824d9dbe95feed87b3d upstream. The commit 93db51d06b32 ("ALSA: usb-audio: Check valid altsetting at parsing rates for UAC2/3") changed the behavior of the function set_sample_rate_v2v3() slightly to treat the inconsistent sample rate as an error. It was done by assumption that the sample rate validation should have been done at the parser phase as implemented in that patch. But the validation is later selectively enabled only for certain devices as it causes a regression (the commit fe773b8711e3 "ALSA: usb-audio: workaround for iface reset issue"), and now the inconsistency surfaced as a fatal error while it worked in the past as is, as reported for FiiO M3K DAC. For recovering from the regression, change set_sample_rate_v2v3() again to ignore the sample rate difference as non-error. BugLink: https://bugzilla.opensuse.org/show_bug.cgi?id=1182633 Fixes: 93db51d06b32 ("ALSA: usb-audio: Check valid altsetting at parsing rates for UAC2/3") Cc: <stable@xxxxxxxxxxxxxxx> Link: https://lore.kernel.org/r/20210227082002.21185-1-tiwai@xxxxxxx Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- sound/usb/clock.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) --- a/sound/usb/clock.c +++ b/sound/usb/clock.c @@ -646,10 +646,10 @@ static int set_sample_rate_v2v3(struct s cur_rate = prev_rate; if (cur_rate != rate) { - usb_audio_warn(chip, - "%d:%d: freq mismatch (RO clock): req %d, clock runs @%d\n", - fmt->iface, fmt->altsetting, rate, cur_rate); - return -ENXIO; + usb_audio_dbg(chip, + "%d:%d: freq mismatch: req %d, clock runs @%d\n", + fmt->iface, fmt->altsetting, rate, cur_rate); + /* continue processing */ } validation: Patches currently in stable-queue which might be from tiwai@xxxxxxx are queue-5.11/alsa-usb-audio-allow-modifying-parameters-with-succeeding-hw_params-calls.patch queue-5.11/alsa-usb-audio-drop-bogus-db-range-in-too-low-level.patch queue-5.11/alsa-usb-audio-use-corsair-virtuoso-mapping-for-corsair-virtuoso-se.patch queue-5.11/alsa-usb-audio-don-t-abort-even-if-the-clock-rate-differs.patch queue-5.11/alsa-hda-realtek-enable-headset-mic-of-acer-swift-with-alc256.patch