From: Takashi Iwai Date: Tue, 29 Jan 2019 13:14:51 +0000 (+0100) Subject: ALSA: hda/realtek - Apply ALC294 hp init also for S4 resume X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=f6ef4e0e284251ff795c541db1129c84515ed044;p=linux.git ALSA: hda/realtek - Apply ALC294 hp init also for S4 resume The init sequence for ALC294 headphone stuff is needed not only for the boot up time but also for the resume from hibernation, where the device is switched from the boot kernel without sound driver to the suspended image. Since we record the PM event in the device power_state field, we can now recognize the call pattern and apply the sequence conditionally. Signed-off-by: Takashi Iwai --- diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 4139aced63f8a..e9dc9408d9bcd 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -3408,7 +3408,9 @@ static void alc294_init(struct hda_codec *codec) { struct alc_spec *spec = codec->spec; - if (!spec->done_hp_init) { + /* required only at boot or S4 resume time */ + if (!spec->done_hp_init || + codec->core.dev.power.power_state.event == PM_EVENT_RESTORE) { alc294_hp_init(codec); spec->done_hp_init = true; }