ALSA: hda - Fix SPDIF mute on IDT/STAC codecs
authorTakashi Iwai <tiwai@suse.de>
Wed, 29 Oct 2008 07:03:42 +0000 (08:03 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 29 Oct 2008 07:03:42 +0000 (08:03 +0100)
The SPDIF mute switch code seems broken.  It doesn't set unmute bits
properly.  Also it contains the duplicated lines (merge error?) to be
cleaned up.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_sigmatel.c

index 788fdc6f326436d8388faf3294c86e5d91274d13..df9b0bc7f8785a82b6ca6ee0649b7c26ddc0659a 100644 (file)
@@ -566,10 +566,8 @@ static int stac92xx_smux_enum_put(struct snd_kcontrol *kcontrol,
                        nid = codec->slave_dig_outs[smux_idx - 1];
                if (spec->cur_smux[smux_idx] == smux->num_items - 1)
                        val = AMP_OUT_MUTE;
-               if (smux_idx == 0)
-                       nid = spec->multiout.dig_out_nid;
                else
-                       nid = codec->slave_dig_outs[smux_idx - 1];
+                       val = AMP_OUT_UNMUTE;
                /* un/mute SPDIF out */
                snd_hda_codec_write_cache(codec, nid, 0,
                        AC_VERB_SET_AMP_GAIN_MUTE, val);