To check the theory from comment #13, I built kernel from mainline at
tag v5.6-rc5. Out of the box, it behaves the same way as all recent
kernels: suspend works only the first time. I could not revert commit
f15bb6d (there were later changes), instead I commented out the calls to
e1000e_s0ix_entry_flow() and e1000e_s0ix_exit_flow()
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c
b/drivers/net/ethernet/intel/e1000e/netdev.c
index db4ea58bac82..53f8ed97d282 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -6860,8 +6860,8 @@ static int e1000e_pm_suspend(struct device *dev)
e1000e_pm_thaw(dev);
/* Introduce S0ix implementation */
- if (hw->mac.type >= e1000_pch_cnp)
- e1000e_s0ix_entry_flow(adapter);
+ /*if (hw->mac.type >= e1000_pch_cnp)
+ e1000e_s0ix_entry_flow(adapter);*/
return rc;
}
@@ -6875,8 +6875,8 @@ static int e1000e_pm_resume(struct device *dev)
int rc;
/* Introduce S0ix implementation */
- if (hw->mac.type >= e1000_pch_cnp)
- e1000e_s0ix_exit_flow(adapter);
+ /* if (hw->mac.type >= e1000_pch_cnp)
+ e1000e_s0ix_exit_flow(adapter);*/
rc = __e1000_resume(pdev);
if (rc)
And voila, suspend works normally every time now!
Apparently S0ix implementation is indeed the culprit.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1865570
Title:
suspend only works once on ThinkPad X1 Carbon gen 7
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1865570/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs