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 Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1865570
Title:
suspend only works once on ThinkPad X1 Carbon gen 7
Status in linux package in Ubuntu:
Incomplete
Bug description:
5.4.0-16 and 5.4.0-17 go to suspend when the lid is closed, but *only
once* after boot. On subsequent attempts, when the lid it closed,
backlight and wifi are turned off, but system does not suspend.
First successful suspend:
[ 147.413295] PM: suspend entry (s2idle)
[ 147.416601] Filesystems sync: 0.003 seconds
[ 147.419371] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 147.421210] OOM killer disabled.
[ 147.421210] Freezing remaining freezable tasks ... (elapsed 0.001 seconds)
done.
[ 147.422375] printk: Suspending console(s) (use no_console_suspend to debug)
[ 147.422630] wlp0s20f3: deauthenticating from 18:d6:c7:61:95:c2 by local
choice (Reason: 3=DEAUTH_LEAVING)
[ 147.527810] e1000e: EEE TX LPI TIMER: 00000011
[ 150.246317] ACPI: EC: interrupt blocked
[ 881.134544] ACPI: EC: interrupt unblocked
[ 883.933255] iwlwifi 0000:00:14.3: Applying debug destination EXTERNAL_DRAM
[ 884.047802] iwlwifi 0000:00:14.3: Applying debug destination EXTERNAL_DRAM
[ 884.112730] iwlwifi 0000:00:14.3: FW already configured (0) - re-configuring
[ 886.815475] e1000e 0000:00:1f.6 enp0s31f6: PHY Wakeup cause - Unicast Packet
[ 887.485832] e1000e 0000:00:1f.6 enp0s31f6: Hardware Error
[ 888.016931] OOM killer enabled.
[ 888.016932] Restarting tasks ... done.
[ 888.060613] PM: suspend exit
Second unsuccessful suspend:
[ 907.584802] PM: suspend entry (s2idle)
[ 907.589779] Filesystems sync: 0.004 seconds
[ 907.591416] Freezing user space processes ... (elapsed 0.002 seconds) done.
[ 907.593518] OOM killer disabled.
[ 907.593518] Freezing remaining freezable tasks ... (elapsed 0.328 seconds)
done.
[ 907.921560] printk: Suspending console(s) (use no_console_suspend to debug)
[ 907.922127] wlp0s20f3: deauthenticating from 18:d6:c7:61:95:c2 by local
choice (Reason: 3=DEAUTH_LEAVING)
[ 908.024438] e1000e: EEE TX LPI TIMER: 00000011
[ 909.916364] PM: pci_pm_suspend(): e1000e_pm_suspend+0x0/0x80 [e1000e]
returns -2
[ 909.916367] PM: dpm_run_callback(): pci_pm_suspend+0x0/0x150 returns -2
[ 909.916369] PM: Device 0000:00:1f.6 failed to suspend async: error -2
[ 911.183052] PM: Some devices failed to suspend, or early wake event detected
[ 911.197091] iwlwifi 0000:00:14.3: Applying debug destination EXTERNAL_DRAM
[ 911.314903] iwlwifi 0000:00:14.3: Applying debug destination EXTERNAL_DRAM
[ 911.382438] iwlwifi 0000:00:14.3: FW already configured (0) - re-configuring
[ 911.413624] OOM killer enabled.
[ 911.413625] Restarting tasks ... done.
[ 911.462021] PM: suspend exit
It looks like Ethernet driver prevents suspend. Ethernet is not
connected (I do not have the adaptor).
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1865570/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp