]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ALSA: usb-audio: Do not expose sticky mixers
authorRong Zhang <i@rong.moe>
Fri, 10 Apr 2026 17:49:04 +0000 (01:49 +0800)
committerTakashi Iwai <tiwai@suse.de>
Sat, 11 Apr 2026 08:03:14 +0000 (10:03 +0200)
commit86aa1ea1f15ce6b56ac1b4c0d9b88a07a5b9bf03
tree25b1069aa0652465fbb9e94e86a1debdb550440d
parente3ad86a82868fcde16f213240a60891c2d7bbec4
ALSA: usb-audio: Do not expose sticky mixers

Some devices' mixers are sticky, which accept SET_CUR but do absolutely
nothing. Registering these mixers confuses userspace and results in
ineffective volume control.

Check if a mixer is sticky by setting the volume to the maximum or
minimum value and checking for effectiveness afterward. Prevent the
mixer from being registered if it turns out to be sticky.

Quirky device sample:

  usb 7-1: New USB device found, idVendor=0e0b, idProduct=fa01, bcdDevice= 1.00
  usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
  usb 7-1: Product: Feaulle Rainbow
  usb 7-1: Manufacturer: Generic
  usb 7-1: SerialNumber: 20210726905926
  (Mic Capture Volume)

Signed-off-by: Rong Zhang <i@rong.moe>
Link: https://patch.msgid.link/20260411-uac-sticky-mixer-v1-3-29d62717befd@rong.moe
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/mixer.c