On Wed, 02 Jun 2021 16:54:24 +0200, Hui Wang wrote: > > The patch_realtek.c needs to check if the power_state.event equals > PM_EVENT_SUSPEND, after using the direct-complete, the suspend() and > resume() will be skipped if the codec is already rt_suspended, in this > case, the patch_realtek.c will always get PM_EVENT_ON even the system > is really resumed from S3. > > We could set power_state to PMSG_SUSPEND in the prepare(), if other > PM functions are called before complete(), those functions will > override power_state; if no other PM functions are called before > complete(), we could know the suspend() and resume() are skipped since > only S3 pm functions could be skipped by direct-complete, in this case > set power_state to PMSG_RESUME in the complete(). This could guarantee > the first time of calling hda_codec_runtime_resume() after complete() > has the correct power_state. > > Fixes: 215a22ed31a1 ("ALSA: hda: Refactor codec PM to use direct-complete optimization") > Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Thanks, applied. Takashi