]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - sound/pci/maestro3.c
tools lib api fs: Adopt filename__read_str from perf
[karo-tx-linux.git] / sound / pci / maestro3.c
index 965d5c6f2fa0be615f494d713f04e3baeb7fcb31..17ae92613de4bc7502f33ff64d4dc076177ef992 100644 (file)
@@ -1929,6 +1929,16 @@ snd_m3_ac97_write(struct snd_ac97 *ac97, unsigned short reg, unsigned short val)
                return;
        snd_m3_outw(chip, val, CODEC_DATA);
        snd_m3_outb(chip, reg & 0x7f, CODEC_COMMAND);
+       /*
+        * Workaround for buggy ES1988 integrated AC'97 codec. It remains silent
+        * until the MASTER volume or mute is touched (alsactl restore does not
+        * work).
+        */
+       if (ac97->id == 0x45838308 && reg == AC97_MASTER) {
+               snd_m3_ac97_wait(chip);
+               snd_m3_outw(chip, val, CODEC_DATA);
+               snd_m3_outb(chip, reg & 0x7f, CODEC_COMMAND);
+       }
 }