From: "Craig I. Hagan" <hagan@amazon.com>
To: <tactii@gmail.com>
Cc: <andrew+netdev@lunn.ch>, <anthony.l.nguyen@intel.com>,
<davem@davemloft.net>, <edumazet@google.com>, <hagan@amazon.com>,
<intel-wired-lan@lists.osuosl.org>, <kuba@kernel.org>,
<linux-kernel@vger.kernel.org>, <netdev@vger.kernel.org>,
<pabeni@redhat.com>, <przemyslaw.kitszel@intel.com>
Subject: Re: [PATCH iwl-net] e1000e: fix flow control stuck off after link partner reset
Date: Sat, 26 Sep 2026 13:27:44 +0000 [thread overview]
Message-ID: <20260926132744.24777-1-hagan@amazon.com> (raw)
In-Reply-To: <42cccecf-ff14-41e1-811d-e5a44f3d1aab@gmail.com>
On 2026-09-24, Matt Vollrath wrote:
> 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.
Thanks Matt,
I've tested this approach on two I219-LM boxes, each attached to a different switch:
one a TP-Link TL-SG108PE V3, and the other a Cisco Catalyst 9200.
On the Cisco with jumbo frames, I'm seeing, via a diagnostic message, that
the fix appears to fire and work. I have also noticed that I no longer see
it on every boot, but this may be correct as I've not seen traffic stalls.
With 1500 mtu, I'm seeing it engage fairly regularly with the TP-Link but
not the Cisco. I'm guessing it is related to how the Cisco negotiates. In both cases
traffic doesn't seem to stall.
I think you are correct about flow control being a red herring since
both switches advertise no pause (Flow Control: None) before and after
recovery.
I'd like to drop my patch in favour of your fix.
How should I proceed, should I propose a patch with suggested-by you, or with your authorship and
tested by me?
For completeness, here is the diff I tested (I added an e_info so I could see it fire on the
test rig; happy to drop that line - it isn't needed for the fix):
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -5254,9 +5254,16 @@
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);
+ /* Checking if MAC exited DMoff state. A bare
+ * PHY reset here does not re-run the jumbo
+ * workaround (e1000_lv_jumbo_workaround_ich8lan),
+ * so request a full reset instead, which does.
+ */
+ if (!(pcim_state & E1000_STATUS_PCIM_STATE)) {
+ e_info("full reset on DMoff exit to restore jumbo-frame configuration\n");
+ adapter->flags |= FLAG_RESTART_NOW;
+ goto link_up;
+ }
}
}
next prev parent reply other threads:[~2026-09-26 13:27 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-23 23:58 [PATCH iwl-net] e1000e: fix flow control stuck off after link partner reset Craig I. Hagan
2026-09-24 18:07 ` Matt Vollrath
2026-09-26 13:27 ` Craig I. Hagan [this message]
2026-09-27 16:26 ` Matt Vollrath
2026-09-28 17:02 ` [PATCH iwl-net v2] e1000e: restore jumbo config after DMoff exit Craig I. Hagan
2026-09-28 19:23 ` Matt Vollrath
2026-09-28 21:05 ` [PATCH iwl-net v3] " Craig I. Hagan
2026-09-29 7:05 ` Loktionov, Aleksandr
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260926132744.24777-1-hagan@amazon.com \
--to=hagan@amazon.com \
--cc=andrew+netdev@lunn.ch \
--cc=anthony.l.nguyen@intel.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=przemyslaw.kitszel@intel.com \
--cc=tactii@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.