ALSA: hda - VIA: Fix invalid A-A path volume adjust issue
authorLydia Wang <lydiawang@viatech.com.cn>
Tue, 22 Mar 2011 08:24:10 +0000 (16:24 +0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 27 Mar 2011 18:35:37 +0000 (11:35 -0700)
commit 169222813eec8403c76394fb7b35ecab98e3c607 upstream.

Modify vt_auto_create_analog_input_ctls() function to fix invalid a-a path
volume adjust issue for VT1708S, VT1702 and VT1716S codecs.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

sound/pci/hda/patch_via.c

index 23e58f0..299a18b 100644 (file)
@@ -2456,7 +2456,14 @@ static int vt_auto_create_analog_input_ctls(struct hda_codec *codec,
                else
                        type_idx = 0;
                label = hda_get_autocfg_input_label(codec, cfg, i);
-               err = via_new_analog_input(spec, label, type_idx, idx, cap_nid);
+               if (spec->codec_type == VT1708S ||
+                   spec->codec_type == VT1702 ||
+                   spec->codec_type == VT1716S)
+                       err = via_new_analog_input(spec, label, type_idx,
+                                                  idx+1, cap_nid);
+               else
+                       err = via_new_analog_input(spec, label, type_idx,
+                                                  idx, cap_nid);
                if (err < 0)
                        return err;
                snd_hda_add_imux_item(imux, label, idx, NULL);