]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ALSA: 6fire: Fix input volume change detection
authorCássio Gabriel <cassiogabrielcontato@gmail.com>
Thu, 16 Apr 2026 13:24:40 +0000 (10:24 -0300)
committerTakashi Iwai <tiwai@suse.de>
Fri, 17 Apr 2026 07:51:26 +0000 (09:51 +0200)
commitdc88eef8f55e85e92d016cdf7e291f5560efd79b
tree641614fa7f131f655366b0ef67822f9ff6b9ca7a
parent17bc5dd49214b50c9eb6df0fad1d1aea287dd078
ALSA: 6fire: Fix input volume change detection

usb6fire_control_input_vol_put() stores the analog capture volume
as a signed offset in rt->input_vol[] (-15..+15), but it compares
the cached value against the user-visible mixer value (0..30)
before subtracting 15.

This mixes two domains in the change detection path. Since the
runtime is zero-initialized, the visible default is 15; writing 0
right after probe is ignored, while writing 15 is reported as a
change even though the cached value remains 0.

Normalize the user value before comparing it with the cached offset.

Fixes: 06bb4e743501 ("ALSA: snd-usb-6fire: add analog input volume control")
Cc: stable@vger.kernel.org
Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
Link: https://patch.msgid.link/20260416-alsa-6fire-input-volume-change-detection-v1-1-ec78299168df@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/6fire/control.c