ALSA: oxygen: Fix right channel of capture volume mixer
authorTakashi Iwai <tiwai@suse.de>
Fri, 12 Jan 2024 11:10:23 +0000 (12:10 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jan 2024 23:35:44 +0000 (15:35 -0800)
commit a03cfad512ac24a35184d7d87ec0d5489e1cb763 upstream.

There was a typo in oxygen mixer code that didn't update the right
channel value properly for the capture volume.  Let's fix it.

This trivial fix was originally reported on Bugzilla.

Fixes: a3601560496d ("[ALSA] oxygen: add front panel controls")
Cc: <stable@vger.kernel.org>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=156561
Link: https://lore.kernel.org/r/20240112111023.6208-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/pci/oxygen/oxygen_mixer.c

index 46705ec..eb3aca1 100644 (file)
@@ -718,7 +718,7 @@ static int ac97_fp_rec_volume_put(struct snd_kcontrol *ctl,
        oldreg = oxygen_read_ac97(chip, 1, AC97_REC_GAIN);
        newreg = oldreg & ~0x0707;
        newreg = newreg | (value->value.integer.value[0] & 7);
-       newreg = newreg | ((value->value.integer.value[0] & 7) << 8);
+       newreg = newreg | ((value->value.integer.value[1] & 7) << 8);
        change = newreg != oldreg;
        if (change)
                oxygen_write_ac97(chip, 1, AC97_REC_GAIN, newreg);