On Mon, Apr 19, 2021 at 11:08 AM Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx> wrote: > > HP EliteBook 840 G8 reboots on s2idle resume, and HP EliteBook 845 G8 > wakes up immediately on s2idle. Both are caused by the XMM7360 WWAN PCI > card. > > There's a WWAN specific method to really turn off the WWAN via EC: > Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep > { > ... > If (CondRefOf (\_SB.PCI0.GP12.PTS)) > { > \_SB.PCI0.GP12.PTS (Arg0) > } > ... > } > > Scope (_SB.PCI0.GP12) > { > ... > Method (PTS, 1, Serialized) > { > If (^^LPCB.EC0.ECRG) > { > If ((PDID == 0xFFFF)) > { > Return (Zero) > } > > POFF () > SGIO (WWBR, One) > Sleep (0x1E) > Acquire (^^LPCB.EC0.ECMX, 0xFFFF) > ^^LPCB.EC0.WWP = One > Release (^^LPCB.EC0.ECMX) > Sleep (0x01F4) > } > > Return (Zero) > } > ... > } > > So let's also invok _PTS for s2idle. > > Signed-off-by: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx> > --- > drivers/acpi/sleep.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c > index 09fd13757b65..7e84b4b09919 100644 > --- a/drivers/acpi/sleep.c > +++ b/drivers/acpi/sleep.c > @@ -698,6 +698,7 @@ int acpi_s2idle_prepare(void) > } > > acpi_enable_wakeup_devices(ACPI_STATE_S0); > + acpi_enter_sleep_state_prep(ACPI_STATE_S0); The system is in S0 already at this point, so not really. Please use a quirk to address this. > > /* Change the configuration of GPEs to avoid spurious wakeup. */ > acpi_enable_all_wakeup_gpes(); > --