The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH] ALSA: usb-audio: Add quirk for Redragon H510-PRO Wireless headset
@ 2026-07-05 18:42 Agustin Luzardo
  2026-07-07 18:31 ` [PATCH] ALSA: usb-audio: Do not drop per-channel feature controls marked get_cur_broken Agustin Luzardo
  2026-07-08 10:39 ` [PATCH] ALSA: usb-audio: Add quirk for Redragon H510-PRO Wireless headset Takashi Iwai
  0 siblings, 2 replies; 5+ messages in thread
From: Agustin Luzardo @ 2026-07-05 18:42 UTC (permalink / raw)
  To: perex, tiwai; +Cc: linux-sound, linux-kernel, Agustin Luzardo

The device with USB ID 040b:0897 (Weltrend Semiconductor chipset,
sold rebranded as the Redragon H510-PRO Wireless headset, reporting
"XiiSound Technology Corporation" in its USB string descriptors)
reports a constant value on GET_CUR for its PCM Playback Volume
control while still supporting an actually tunable volume. This
trips the sticky-value detection in check_sticky_volume_control(),
which disables the mixer control entirely:

  usb 1-4: 5:0: sticky mixer values (0/100/1 => 80), disabling

As a result, the device boots with playback volume effectively muted
and provides no way to raise it through the normal ALSA/PipeWire
mixer path.

Apply QUIRK_FLAG_MIXER_GET_CUR_BROKEN so the sticky check marks the
control as get_cur_broken and relies on the cached value instead of
disabling the mixer control outright.

Tested by backporting this quirk flag and the supporting
get_cur_broken logic onto a Linux 7.1.2-zen kernel build that does
not yet carry it, and confirming that after applying the flag the
kernel log changes from:

  usb 1-4: 5:0: sticky mixer values (0/100/1 => 80), disabling

to:

  usb 1-4: 5:0: broken mixer GET_CUR (0/100/1 => 80)

with the control usable via the driver's cached value afterward.

Signed-off-by: Agustin Luzardo <agustinluzardo09@gmail.com>
---
 sound/usb/quirks.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index 0000000..0000000 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -2211,6 +2211,8 @@
 	DEVICE_FLG(0x03f0, 0x654a, /* HP 320 FHD Webcam */
 		   QUIRK_FLAG_GET_SAMPLE_RATE | QUIRK_FLAG_MIC_RES_16),
+	DEVICE_FLG(0x040b, 0x0897, /* Weltrend Semiconductor, sold as Redragon H510-PRO Wireless headset */
+		   QUIRK_FLAG_MIXER_GET_CUR_BROKEN),
 	DEVICE_FLG(0x041e, 0x3000, /* Creative SB Extigy */
 		   QUIRK_FLAG_IGNORE_CTL_ERROR),
 	DEVICE_FLG(0x041e, 0x4080, /* Creative Live Cam VF0610 */
-- 
2.46.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-07-08 18:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-05 18:42 [PATCH] ALSA: usb-audio: Add quirk for Redragon H510-PRO Wireless headset Agustin Luzardo
2026-07-07 18:31 ` [PATCH] ALSA: usb-audio: Do not drop per-channel feature controls marked get_cur_broken Agustin Luzardo
2026-07-08 10:40   ` Takashi Iwai
2026-07-08 18:35   ` Agustin Luzardo
2026-07-08 10:39 ` [PATCH] ALSA: usb-audio: Add quirk for Redragon H510-PRO Wireless headset Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox