RE: [PATCH iwl-net v3] e1000e: restore jumbo config after DMoff exit
From: Loktionov, Aleksandr
Date: Tue Sep 29 2026 - 03:07:09 EST
> -----Original Message-----
> From: Craig I. Hagan <hagan@xxxxxxxxxx>
> Sent: Monday, September 28, 2026 11:06 PM
> To: Nguyen, Anthony L <anthony.l.nguyen@xxxxxxxxx>; Kitszel,
> Przemyslaw <przemyslaw.kitszel@xxxxxxxxx>
> Cc: Andrew Lunn <andrew+netdev@xxxxxxx>; David S . Miller
> <davem@xxxxxxxxxxxxx>; Eric Dumazet <edumazet@xxxxxxxxxx>; Jakub
> Kicinski <kuba@xxxxxxxxxx>; Paolo Abeni <pabeni@xxxxxxxxxx>; intel-
> wired-lan@xxxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; stable@xxxxxxxxxxxxxxx; Fabio Sabai
> <sabfabio@xxxxxxxxxx>; Matt Vollrath <tactii@xxxxxxxxx>
> 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: stable@xxxxxxxxxxxxxxx
> Reported-by: Fabio Sabai <sabfabio@xxxxxxxxxx>
> Closes: https://github.com/systemd/systemd/issues/25925
> Suggested-by: Matt Vollrath <tactii@xxxxxxxxx>
> Reviewed-by: Matt Vollrath <tactii@xxxxxxxxx>
> Tested-by: Matt Vollrath <tactii@xxxxxxxxx>
> Assisted-by: LLM
> Signed-off-by: Craig I. Hagan <hagan@xxxxxxxxxx>
> ---
> 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-
> hagan@xxxxxxxxxx/
>
> 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 <aleksandr.loktionov@xxxxxxxxx>