]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - sound/pci/hda/patch_sigmatel.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
[linux-2.6-omap-h63xx.git] / sound / pci / hda / patch_sigmatel.c
index c5906551311895285782942e49a92ca43c608f06..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);
@@ -1282,7 +1280,7 @@ static int stac92xx_build_controls(struct hda_codec *codec)
                        return err;
                spec->multiout.share_spdif = 1;
        }
-       if (spec->dig_in_nid && (!spec->gpio_dir & 0x01)) {
+       if (spec->dig_in_nid && !(spec->gpio_dir & 0x01)) {
                err = snd_hda_create_spdif_in_ctls(codec, spec->dig_in_nid);
                if (err < 0)
                        return err;
@@ -2816,7 +2814,7 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec,
        static const char *chname[4] = {
                "Front", "Surround", NULL /*CLFE*/, "Side"
        };
-       hda_nid_t nid;
+       hda_nid_t nid = 0;
        int i, err;
 
        struct sigmatel_spec *spec = codec->spec;