]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ALSA: usb-audio: Add QUIRK_FLAG_MIXER_GET_CUR_BROKEN for Logitech PRO X 2 LIGHTSPEED
authorRong Zhang <i@rong.moe>
Fri, 31 Jul 2026 13:45:05 +0000 (21:45 +0800)
committerTakashi Iwai <tiwai@suse.de>
Mon, 3 Aug 2026 07:37:12 +0000 (09:37 +0200)
The UAC mixer of the Logitech PRO X 2 LIGHTSPEED has broken mixer
GET_CUR behavior but otherwise works fine.

Add a quirk table entry matching VID/PID=0x046d/0x0af7 and apply the
MIXER_GET_CUR_BROKEN quirk flag to make the mixer usable again.

Quirky device sample (after applying the quirk flag):

  usb 3-2.1: New USB device found, idVendor=046d, idProduct=0af7, bcdDevice= 1.00
  usb 3-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
  usb 3-2.1: Product: PRO X 2 LIGHTSPEED
  usb 3-2.1: Manufacturer: Logitech
  usb 3-2.1: SerialNumber: 0000000000000000
  usb 3-2.1: 2:0: broken mixer GET_CUR (-18944/0/256 => -2662)
  usb 3-2.1: 6:0: broken mixer GET_CUR (-18944/0/256 => 0)

Fixes: 86aa1ea1f15c ("ALSA: usb-audio: Do not expose sticky mixers")
Suggested-by: Brian van den Berg <faxuser@proton.me>
Reported-by: Brian van den Berg <faxuser@proton.me>
Link: https://lore.kernel.org/all/370007e6-b73b-4bfc-8410-a860781c7ad7@proton.me/
Signed-off-by: Rong Zhang <i@rong.moe>
Link: https://patch.msgid.link/20260731-uac-lg-pro-x-2-ls-v1-1-268eaefe66ab@rong.moe
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/quirks.c

index d2a111ee50ab92374e46dbec5b6c8f1d90dd7fd7..c90c89200baf618f3a6fa153ece832550303c15c 100644 (file)
@@ -2256,6 +2256,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
        DEVICE_FLG(0x046d, 0x0a8f, /* Logitech H390 headset */
                   QUIRK_FLAG_CTL_MSG_DELAY_1M |
                   QUIRK_FLAG_MIXER_PLAYBACK_MIN_MUTE),
+       DEVICE_FLG(0x046d, 0x0af7, /* Logitech PRO X 2 LIGHTSPEED */
+                  QUIRK_FLAG_MIXER_GET_CUR_BROKEN),
        DEVICE_FLG(0x0499, 0x1506, /* Yamaha THR5 */
                   QUIRK_FLAG_GENERIC_IMPLICIT_FB),
        DEVICE_FLG(0x0499, 0x1509, /* Steinberg UR22 */