--- alsa-driver-0.9.8/alsa-kernel/pci/es1968.c.orig 2003-10-14 16:59:20.000000000 +0300 +++ alsa-driver-0.9.8/alsa-kernel/pci/es1968.c 2004-02-17 08:06:22.000000000 +0200 @@ -1967,14 +1967,14 @@ /* FIXME: more clean up is needed.. */ val = chip->ac97->regs[AC97_MASTER]; - if (x & 1) { + if (!(x & 2)) { /* mute */ snd_ac97_write_cache(chip->ac97, AC97_MASTER, val ^ 0x8000); snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE, &chip->master_switch->id); } else { val &= 0x7fff; - if (((x>>1) & 7) > 4) { + if (!(x & 4)) { /* volume up */ if ((val & 0xff) > 0) val--;