ALSA: hda/realtek - Make fixup regs persist after resume
authorKailang Yang <kailang@realtek.com>
Fri, 1 Nov 2013 07:57:35 +0000 (15:57 +0800)
committerJiri Slaby <jslaby@suse.cz>
Mon, 3 Mar 2014 09:14:49 +0000 (10:14 +0100)
commit 380702192f616df5b2ba704b85cc479a3da92c91 upstream.

Upon suspend / resume, the fixup register settings are lost because
sending HDA_FIXUP_ACT_PRE_PROBE is not part of the resume path. Instead,
write our registers in response to the HDA_FIXUP_ACT_INIT, which happens
after initial probe and upon resume.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
sound/pci/hda/patch_realtek.c

index b35a375..be6b6f6 100644 (file)
@@ -3578,6 +3578,8 @@ static void alc283_fixup_chromebook(struct hda_codec *codec,
        case HDA_FIXUP_ACT_PRE_PROBE:
                alc283_chromebook_caps(codec);
                spec->gen.hp_automute_hook = alc283_hp_automute_hook;
+               break;
+       case HDA_FIXUP_ACT_INIT:
                /* MIC2-VREF control */
                /* Set to manual mode */
                val = alc_read_coef_idx(codec, 0x06);