Re: [PATCH v3 0/2] ALSA: usb-audio: Add QUIRK_FLAG_MIXER_GET_CUR_BROKEN for Sennheiser MOMENTUM 3
From: Takashi Iwai
Date: Fri May 29 2026 - 04:58:44 EST
On Thu, 28 May 2026 20:38:54 +0200,
Rong Zhang wrote:
>
> Since commit 86aa1ea1f15c ("ALSA: usb-audio: Do not expose sticky
> mixers"), the UAC mixer core utilizes volume SET_CUR and GET_CUR to
> identify devices with sticky mixers. Unfortunately, even though most
> devices with sticky GET_CUR also have corresponding sticky SET_CUR,
> which I actually met more since the commit had been merged, there is
> also a rare case that some devices may have volume mixers that responds
> to SET_CUR properly but with its GET_CUR stubbed. This cause the sticky
> check to consider the mixer to be sticky and unnecessarily disable it.
>
> As the sticky check can't distinguish between sticky mixers and working
> SET_CUR but broken GET_CUR, add QUIRK_FLAG_MIXER_GET_CUR_BROKEN to tell
> that the device should fall into the second category when GET_CUR
> returns a constant value. In this case, the sticky check becomes
> non-fatal and only disables GET_CUR instead of the whole mixer. The
> current volume will then be provided by the internal cache that stores
> the last set volume.
>
> The Sennheiser MOMENTUM 3 needs the quirk flag. Though its UAC mixer
> works fine and precisely corresponds to the reported dB range, the
> mixer's volume GET_CUR method is somehow stubbed and returns a constant
> value (15dB), resulting in it being disabled by the sticky check.
>
> Signed-off-by: Rong Zhang <i@xxxxxxxx>
Applied to for-next branch now. Thanks.
Takashi