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     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to