commit: 5a2d227fdc7a02ed1b4cebba391d8fb9ad57caaf
From: Adrian Wilkins <[email protected]>
Date: Thu, 19 May 2011 21:52:38 +0100
Subject: [PATCH] ALSA: hda - Fix input-src parse in patch_analog.c

Compare pin type enum to the pin type and not the array index.
Fixes bug#0005368.

Signed-off-by: Adrian Wilkins <[email protected]>
Cc: <[email protected]> (2.6.37 and later)
Signed-off-by: Takashi Iwai <[email protected]>
---
 sound/pci/hda/patch_analog.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c
index 981c631..f1b3875 100644
--- a/sound/pci/hda/patch_analog.c
+++ b/sound/pci/hda/patch_analog.c
@@ -3070,6 +3070,7 @@ static void ad1988_auto_init_analog_input(struct 
hda_codec *codec)
 
        for (i = 0; i < cfg->num_inputs; i++) {
                hda_nid_t nid = cfg->inputs[i].pin;
+               int type = cfg->inputs[i].type;
                switch (nid) {
                case 0x15: /* port-C */
                        snd_hda_codec_write(codec, 0x33, 0, 
AC_VERB_SET_CONNECT_SEL, 0x0);
@@ -3079,7 +3080,7 @@ static void ad1988_auto_init_analog_input(struct 
hda_codec *codec)
                        break;
                }
                snd_hda_codec_write(codec, nid, 0, 
AC_VERB_SET_PIN_WIDGET_CONTROL,
-                                   i == AUTO_PIN_MIC ? PIN_VREF80 : PIN_IN);
+                                   type == AUTO_PIN_MIC ? PIN_VREF80 : PIN_IN);
                if (nid != AD1988_PIN_CD_NID)
                        snd_hda_codec_write(codec, nid, 0, 
AC_VERB_SET_AMP_GAIN_MUTE,
                                            AMP_OUT_MUTE);

_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to