Re: [PATCH iwl-net] e1000e: fix flow control stuck off after link partner reset
From: Matt Vollrath
Date: Thu Sep 24 2026 - 14:21:58 EST
On 9/23/26 19:58, Craig I. Hagan wrote:
On an I219 (pch_spt+) copper with jumbo MTU enabled, a link partnerI was able to repro this on an I219-LM laptop by link cycling with MEI
reset (e.g. a switch reboot) can leave the PHY's pause advertisement
bits dropped. Nothing re-asserts them on link-up, so every renegotiation
resolves flow control to none. rx_crc_errors climb and traffic stalls until
the interface is manually reset. Observed on I219-LM (8086:15b7) at
MTU 9000 behind a switch that was power-cycled.
In the watchdog, detect a completed autonegotiation that resolved
to no flow control despite pause being requested and the pause bits
missing from the advertisement, and schedule reset_task to rebuild
the advertisement (as ethtool -r does). Remediation is limited to three
attempts, 30s apart, until the next link down.
Remediate via the existing reset path rather than re-asserting the
advertisement on link-up; a root-cause rework can follow in net-next.
Fixes: 79849ebc0e06 ("e1000e: initial support for i219")
Cc: stable@xxxxxxxxxxxxxxx
Link: https://github.com/systemd/systemd/issues/25925
Assisted-by: LLM
Signed-off-by: Craig I. Hagan <hagan@xxxxxxxxxx>
---
runtime PM enabled while the NIC runtime PM was disabled.
At 1500 MTU flow control still doesn't end up in the right state, but
traffic otherwise flows normally. I don't think traffic is stalling
because flow control is off, I think it's stalling because
e1000_lv_jumbo_workaround_ich8lan didn't run after the PHY reset.
I didn't try your patch, but there's a four line fix. Where the watchdog
resets just the PHY when the MAC exits DMoff state, set FLAG_RESTART_NOW
instead of resetting the PHY, then goto link_up. This works for me at
both 1500 and 9000 MTU.
If runtime PM were enabled on your NIC it would reset anyway and avoid
this error.
See:
https://lore.kernel.org/netdev/20190628224932.3389-16-jeffrey.t.kirsher@xxxxxxxxx/