ALSA: hda - Don't turn off EAPD for headphone on Lenovo N100
authorTakashi Iwai <tiwai@suse.de>
Wed, 13 Nov 2013 08:39:08 +0000 (09:39 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 13 Nov 2013 08:39:08 +0000 (09:39 +0100)
The only EAPD on AD1986A is on NID 0x1b where usually the speaker.
But this doesn't control only the speaker amp but may influence on all
outputs, e.g. Lenovo N100 laptop seems to have this issue.

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_analog.c

index 87d2e0335ae4c3288fb239562a68fec79bbaa5b9..ba37116168acd625fb24e9cf78f6504a80347335 100644 (file)
@@ -219,8 +219,12 @@ static int alloc_ad_spec(struct hda_codec *codec)
 static void ad_fixup_inv_jack_detect(struct hda_codec *codec,
                                     const struct hda_fixup *fix, int action)
 {
-       if (action == HDA_FIXUP_ACT_PRE_PROBE)
+       struct ad198x_spec *spec = codec->spec;
+
+       if (action == HDA_FIXUP_ACT_PRE_PROBE) {
                codec->inv_jack_detect = 1;
+               spec->gen.keep_eapd_on = 1;
+       }
 }
 
 enum {