diff --git a/[refs] b/[refs] index 2415d887396d..3d04e6ff011d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6afeb11de5b28e47adea1459c35e598bb98424d6 +refs/heads/master: 8c670714223d58086695d007b76b3e3ead54e4f5 diff --git a/trunk/sound/pci/cmipci.c b/trunk/sound/pci/cmipci.c index 71c58df4af28..70face7e1048 100644 --- a/trunk/sound/pci/cmipci.c +++ b/trunk/sound/pci/cmipci.c @@ -2198,7 +2198,8 @@ static int _snd_cmipci_uswitch_put(struct snd_kcontrol *kcontrol, val = inb(cm->iobase + args->reg); else val = snd_cmipci_read(cm, args->reg); - change = (val & args->mask) != (ucontrol->value.integer.value[0] ? args->mask : 0); + change = (val & args->mask) != (ucontrol->value.integer.value[0] ? + args->mask_on : (args->mask & ~args->mask_on)); if (change) { val &= ~args->mask; if (ucontrol->value.integer.value[0])