summaryrefslogtreecommitdiff
path: root/drivers/net/wwan
diff options
context:
space:
mode:
authorKai-Heng Feng <kai.heng.feng@canonical.com>2021-12-24 16:19:14 +0800
committerDavid S. Miller <davem@davemloft.net>2021-12-27 12:19:51 +0000
commitf4dd5174e2739ab0aeda14b32847e587e78ff3d9 (patch)
tree27c6fae32aa753dd8328d6dffeafee14dc642592 /drivers/net/wwan
parent8f58e29ed7fc37d3ca3e86668e63250a53f51fd7 (diff)
net: wwan: iosm: Keep device at D0 for s2idle case
We are seeing spurious wakeup caused by Intel 7560 WWAN on AMD laptops. This prevent those laptops to stay in s2idle state. >From what I can understand, the intention of ipc_pcie_suspend() is to put the device to D3cold, and ipc_pcie_suspend_s2idle() is to keep the device at D0. However, the device can still be put to D3hot/D3cold by PCI core. So explicitly let PCI core know this device should stay at D0, to solve the spurious wakeup. Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wwan')
-rw-r--r--drivers/net/wwan/iosm/iosm_ipc_pcie.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wwan/iosm/iosm_ipc_pcie.c b/drivers/net/wwan/iosm/iosm_ipc_pcie.c
index d73894e2a84e..af1d0e837fe9 100644
--- a/drivers/net/wwan/iosm/iosm_ipc_pcie.c
+++ b/drivers/net/wwan/iosm/iosm_ipc_pcie.c
@@ -340,6 +340,9 @@ static int __maybe_unused ipc_pcie_suspend_s2idle(struct iosm_pcie *ipc_pcie)
ipc_imem_pm_s2idle_sleep(ipc_pcie->imem, true);
+ /* Let PCI core know this device should stay at D0 */
+ pci_save_state(ipc_pcie->pci);
+
return 0;
}