]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ALSA: hda/realtek - Fix headset Mic no show at resume back for Lenovo ALC897 platform
authorKailang Yang <kailang@realtek.com>
Fri, 1 Mar 2024 07:29:50 +0000 (15:29 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 13 Apr 2024 10:50:08 +0000 (12:50 +0200)
commit d397b6e56151099cf3b1f7bfccb204a6a8591720 upstream.

Headset Mic will no show at resume back.
This patch will fix this issue.

Fixes: d7f32791a9fc ("ALSA: hda/realtek - Add headset Mic support for Lenovo ALC897 platform")
Cc: <stable@vger.kernel.org>
Signed-off-by: Kailang Yang <kailang@realtek.com>
Link: https://lore.kernel.org/r/4713d48a372e47f98bba0c6120fd8254@realtek.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/pci/hda/patch_realtek.c

index 2b345ba083d81ef3ac724fe7f2f7856f4b183f5e..bce7127161eb00737474f8ffd0c74ba8e51788f5 100644 (file)
@@ -8593,8 +8593,7 @@ static void alc897_hp_automute_hook(struct hda_codec *codec,
 
        snd_hda_gen_hp_automute(codec, jack);
        vref = spec->gen.hp_jack_present ? (PIN_HP | AC_PINCTL_VREF_100) : PIN_HP;
-       snd_hda_codec_write(codec, 0x1b, 0, AC_VERB_SET_PIN_WIDGET_CONTROL,
-                           vref);
+       snd_hda_set_pin_ctl(codec, 0x1b, vref);
 }
 
 static void alc897_fixup_lenovo_headset_mic(struct hda_codec *codec,
@@ -8603,6 +8602,10 @@ static void alc897_fixup_lenovo_headset_mic(struct hda_codec *codec,
        struct alc_spec *spec = codec->spec;
        if (action == HDA_FIXUP_ACT_PRE_PROBE) {
                spec->gen.hp_automute_hook = alc897_hp_automute_hook;
+               spec->no_shutup_pins = 1;
+       }
+       if (action == HDA_FIXUP_ACT_PROBE) {
+               snd_hda_set_pin_ctl_cache(codec, 0x1a, PIN_IN | AC_PINCTL_VREF_100);
        }
 }