From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 26 Nov 2013 07:44:26 +0000 (+0100)
Subject: ALSA: hda - Fix hp-mic mode without VREF bits
X-Git-Tag: firefly_0821_release~6453^2~119
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=5fb0e7deb22f290a47686898a01fb39a581f9970;p=firefly-linux-kernel-4.4.55.git

ALSA: hda - Fix hp-mic mode without VREF bits

commit 16c0cefe8951b2c4b824fd06011ac1b359b1ab3b upstream.

When the hp mic pin has no VREF bits, the driver forgot to set PIN_IN
bit.  Spotted during debugging old MacBook Airs.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=65681
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---

diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
index 26ed56f00b7c..fd856cc6ed63 100644
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -2703,7 +2703,7 @@ static int hp_mic_jack_mode_put(struct snd_kcontrol *kcontrol,
 			val &= ~(AC_PINCTL_VREFEN | PIN_HP);
 			val |= get_vref_idx(vref_caps, idx) | PIN_IN;
 		} else
-			val = snd_hda_get_default_vref(codec, nid);
+			val = snd_hda_get_default_vref(codec, nid) | PIN_IN;
 	}
 	snd_hda_set_pin_ctl_cache(codec, nid, val);
 	call_hp_automute(codec, NULL);