summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRong Zhang <i@rong.moe>2026-07-06 02:19:31 +0800
committerTakashi Iwai <tiwai@suse.de>2026-07-06 10:22:43 +0200
commitea588e4c7484ea883d3dab308f1f2c2f0f51f7d6 (patch)
tree604b3bd7a611dd1aec4e1cfcd363c3d97444072b
parentaba30af07d4fe499b50209801eba9da8a815522f (diff)
downloadlinux-next-ea588e4c7484ea883d3dab308f1f2c2f0f51f7d6.tar.gz
linux-next-ea588e4c7484ea883d3dab308f1f2c2f0f51f7d6.zip
ALSA: usb-audio: Fix imbalance per-channel volume of sticky mixers
I accidentally made an off-by-a-line mistake when mimicking other code paths that set all channels. The mistake breaks sticky mixers with multiple channels. I didn't realize this mistake at that time, as my device's mixer is single-channel. Fix it, so that per-channel volume of sticky mixers is balanced. Fixes: aa2f4addab44 ("ALSA: usb-audio: Set the value of potential sticky mixers to maximum") Signed-off-by: Rong Zhang <i@rong.moe> Link: https://patch.msgid.link/20260706-uac-sticky-channels-fix-v1-1-92741c538283@rong.moe Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/usb/mixer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
index b4c855c25eef..703c118f9d4e 100644
--- a/sound/usb/mixer.c
+++ b/sound/usb/mixer.c
@@ -1473,8 +1473,8 @@ sticky:
if (!cval->cmask) {
snd_usb_set_cur_mix_value(cval, 0, 0, cval->max);
} else {
+ idx = 0;
for (i = 0; i < MAX_CHANNELS; i++) {
- idx = 0;
if (cval->cmask & BIT(i)) {
snd_usb_set_cur_mix_value(cval, i + 1, idx, cval->max);
idx++;