diff options
| author | Rong Zhang <i@rong.moe> | 2026-07-06 02:19:31 +0800 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2026-07-06 10:22:43 +0200 |
| commit | ea588e4c7484ea883d3dab308f1f2c2f0f51f7d6 (patch) | |
| tree | 604b3bd7a611dd1aec4e1cfcd363c3d97444072b | |
| parent | aba30af07d4fe499b50209801eba9da8a815522f (diff) | |
| download | linux-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.c | 2 |
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++; |
