aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/pci/cmipci.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c
index 71c58df4af28..70face7e1048 100644
--- a/sound/pci/cmipci.c
+++ b/sound/pci/cmipci.c
@@ -2198,7 +2198,8 @@ static int _snd_cmipci_uswitch_put(struct snd_kcontrol *kcontrol,
2198 val = inb(cm->iobase + args->reg); 2198 val = inb(cm->iobase + args->reg);
2199 else 2199 else
2200 val = snd_cmipci_read(cm, args->reg); 2200 val = snd_cmipci_read(cm, args->reg);
2201 change = (val & args->mask) != (ucontrol->value.integer.value[0] ? args->mask : 0); 2201 change = (val & args->mask) != (ucontrol->value.integer.value[0] ?
2202 args->mask_on : (args->mask & ~args->mask_on));
2202 if (change) { 2203 if (change) {
2203 val &= ~args->mask; 2204 val &= ~args->mask;
2204 if (ucontrol->value.integer.value[0]) 2205 if (ucontrol->value.integer.value[0])