summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorLydia Wang <lydiawang@viatech.com.cn>2011-03-22 16:24:10 +0800
committerTakashi Iwai <tiwai@suse.de>2011-03-22 12:54:14 +0100
commit169222813eec8403c76394fb7b35ecab98e3c607 (patch)
tree9268af6e421e910e7f665340c9a1972e07217a0b /sound
parentab657e0cacc39d88145871c6a3c844597c02d406 (diff)
ALSA: hda - VIA: Fix invalid A-A path volume adjust issue
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> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/patch_via.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c
index 23e58f090469..299a18b735a3 100644
--- a/sound/pci/hda/patch_via.c
+++ b/sound/pci/hda/patch_via.c
@@ -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);