diff options
Diffstat (limited to 'sound/pci/hda/patch_cirrus.c')
-rw-r--r-- | sound/pci/hda/patch_cirrus.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_cirrus.c b/sound/pci/hda/patch_cirrus.c index adb5ec50252a..ae75283a5583 100644 --- a/sound/pci/hda/patch_cirrus.c +++ b/sound/pci/hda/patch_cirrus.c | |||
@@ -673,6 +673,7 @@ static int cs_capture_source_info(struct snd_kcontrol *kcontrol, | |||
673 | { | 673 | { |
674 | struct hda_codec *codec = snd_kcontrol_chip(kcontrol); | 674 | struct hda_codec *codec = snd_kcontrol_chip(kcontrol); |
675 | struct cs_spec *spec = codec->spec; | 675 | struct cs_spec *spec = codec->spec; |
676 | struct auto_pin_cfg *cfg = &spec->autocfg; | ||
676 | unsigned int idx; | 677 | unsigned int idx; |
677 | 678 | ||
678 | uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; | 679 | uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; |
@@ -681,7 +682,8 @@ static int cs_capture_source_info(struct snd_kcontrol *kcontrol, | |||
681 | if (uinfo->value.enumerated.item >= spec->num_inputs) | 682 | if (uinfo->value.enumerated.item >= spec->num_inputs) |
682 | uinfo->value.enumerated.item = spec->num_inputs - 1; | 683 | uinfo->value.enumerated.item = spec->num_inputs - 1; |
683 | idx = spec->input_idx[uinfo->value.enumerated.item]; | 684 | idx = spec->input_idx[uinfo->value.enumerated.item]; |
684 | strcpy(uinfo->value.enumerated.name, auto_pin_cfg_labels[idx]); | 685 | strcpy(uinfo->value.enumerated.name, |
686 | hda_get_input_pin_label(codec, cfg->inputs[idx].pin, 1)); | ||
685 | return 0; | 687 | return 0; |
686 | } | 688 | } |
687 | 689 | ||