ALSA: usb-audio: Don't abort even if the clock rate differs
The commit93db51d06b
("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 commitfe773b8711
"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:93db51d06b
("ALSA: usb-audio: Check valid altsetting at parsing rates for UAC2/3") Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/20210227082002.21185-1-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
c88fb897c1
commit
dcf269b3f7
|
@ -652,10 +652,10 @@ static int set_sample_rate_v2v3(struct snd_usb_audio *chip,
|
|||
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:
|
||||
|
|
Loading…
Reference in New Issue