On 29/09/2026 10:05, Loktionov, Aleksandr wrote:


-----Original Message-----
From: Craig I. Hagan <[email protected]>
Sent: Monday, September 28, 2026 11:06 PM
To: Nguyen, Anthony L <[email protected]>; Kitszel,
Przemyslaw <[email protected]>
Cc: Andrew Lunn <[email protected]>; David S . Miller
<[email protected]>; Eric Dumazet <[email protected]>; Jakub
Kicinski <[email protected]>; Paolo Abeni <[email protected]>; intel-
[email protected]; [email protected]; linux-
[email protected]; [email protected]; Fabio Sabai
<[email protected]>; Matt Vollrath <[email protected]>
Subject: [PATCH iwl-net v3] e1000e: restore jumbo config after DMoff
exit

On an I219 (pch_spt+) at jumbo MTU, after a link partner reset (e.g. a
switch reboot) the interface can come back up unable to pass traffic
until it is manually reset. Observed on I219-LM (8086:15b7) at MTU
9000.

When the MAC exits the DMoff state on link-up, the watchdog resets
only the PHY. A bare PHY reset does not re-run the jumbo-frame
workaround (e1000_lv_jumbo_workaround_ich8lan), so the jumbo
configuration is left unapplied and traffic stalls. This was seen with
NIC runtime PM disabled; if runtime PM were enabled, the device should
go through a full reset on resume, avoiding this issue.

Request a full reset (FLAG_RESTART_NOW) instead of the bare PHY reset
when the MAC exits DMoff, so the normal reset path re-applies the
jumbo-frame configuration.

Fixes: def4ec6dce39 ("e1000e: PCIm function state support")
Cc: [email protected]
Reported-by: Fabio Sabai <[email protected]>
Closes: https://github.com/systemd/systemd/issues/25925
Suggested-by: Matt Vollrath <[email protected]>
Reviewed-by: Matt Vollrath <[email protected]>
Tested-by: Matt Vollrath <[email protected]>
Assisted-by: LLM
Signed-off-by: Craig I. Hagan <[email protected]>
---
v3: Correct the Fixes: tag to def4ec6dce39 ("e1000e: PCIm function
     state support"), which introduced the DMoff-exit bare PHY reset;
     2e7256f12cdb only added a pre-condition. This lets stable reach
     the affected trees (v5.3+, including 5.4/5.10). Add Reviewed-by/
     Tested-by from Matt Vollrath.
v2: Rework per review: request a full reset on DMoff exit so the
     jumbo-frame workaround is re-applied (root cause identified by
     Matt Vollrath); drop the diagnostic e_info. v1:
     https://lore.kernel.org/netdev/20260923235832.473-1-
[email protected]/

  drivers/net/ethernet/intel/e1000e/netdev.c | 8 +++++---
  1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c
b/drivers/net/ethernet/intel/e1000e/netdev.c
index 844f31ab3..df7da86a8 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -5264,9 +5264,11 @@ static void e1000_watchdog_task(struct
work_struct *work)
                                        usleep_range(10000, 20000);
                                        pcim_state = er32(STATUS);

-                                       /* Checking if MAC exited DMoff
state */
-                                       if (!(pcim_state &
E1000_STATUS_PCIM_STATE))
-                                               e1000_phy_hw_reset(&adapter-
hw);
+                                       /* MAC exited DMoff; do a full
reset. */
+                                       if (!(pcim_state &
E1000_STATUS_PCIM_STATE)) {
+                                               adapter->flags |=
FLAG_RESTART_NOW;
+                                               goto link_up;
+                                       }
                                }
                        }

--
2.47.3

Reviewed-by: Aleksandr Loktionov <[email protected]>
Tested-by: Moriya Kadosh <[email protected]>

Reply via email to