Re: [PATCH] ALSA: usb-audio: Add GET_SAMPLE_RATE quirk for C-Media CM6206
From: Takashi Iwai
Date: Wed Jul 29 2026 - 02:42:34 EST
On Wed, 29 Jul 2026 00:22:39 +0200,
Mikhail Gavrilov wrote:
>
> The C-Media CM6206 (0d8c:0102) truncates the three-byte sample rate it
> returns for UAC_GET_CUR to its two low bytes. After the rate has been
> set to 96000 (0x017700) the device reports back 30464 (0x007700).
>
> At probe time the driver initializes every altsetting to its maximum
> rate, so altsetting 5 is set to 96000 and the warning appears on each
> plug-in, before anything has opened the device:
>
> usb 3-1.3: 1:5 Set sample rate 96000, clock 0
> usb 3-1.3: current rate 30464 is different from the runtime rate 96000
>
> That altsetting is the one parse_audio_format_rates_v1() already fixes
> up for this chip, so this affects every CM6206.
>
> Only the read-back is broken, the rate itself is applied: a 1 kHz sine
> rendered at 96 kHz is recovered at 1000.2 Hz, and a silent fallback to
> 48000 would have been reported as 0x00bb80 rather than as the low half
> of the requested rate.
>
> Add a QUIRK_FLAG_GET_SAMPLE_RATE entry for the device so the read-back
> is skipped. Setting the same flag through the quirk_flags module
> parameter makes the warning disappear while the 96000 init still
> happens.
>
> Signed-off-by: Mikhail Gavrilov <mikhail.v.gavrilov@xxxxxxxxx>
Thanks, applied now.
Takashi