* [PATCH iwl-net v2] e1000e: restore jumbo config after DMoff exit
[not found] <20260923235832.473-1-hagan@amazon.com>
@ 2026-09-28 17:02 ` Craig I. Hagan
2026-09-28 19:23 ` Matt Vollrath
0 siblings, 1 reply; 5+ messages in thread
From: Craig I. Hagan @ 2026-09-28 17:02 UTC (permalink / raw)
To: Tony Nguyen, Przemek Kitszel
Cc: Andrew Lunn, David S . Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, intel-wired-lan, netdev, linux-kernel, stable,
Fabio Sabai, Matt Vollrath
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: 2e7256f12cdb ("e1000e: Check the PCIm state")
Cc: stable@vger.kernel.org
Reported-by: Fabio Sabai <sabfabio@amazon.com>
Closes: https://github.com/systemd/systemd/issues/25925
Suggested-by: Matt Vollrath <tactii@gmail.com>
Assisted-by: LLM
Signed-off-by: Craig I. Hagan <hagan@amazon.com>
---
v2: Rework per review. Instead of the fc-latch autoneg-restart
approach, 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@amazon.com/
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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH iwl-net v2] e1000e: restore jumbo config after DMoff exit
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
0 siblings, 1 reply; 5+ messages in thread
From: Matt Vollrath @ 2026-09-28 19:23 UTC (permalink / raw)
To: Craig I. Hagan, Tony Nguyen, Przemek Kitszel
Cc: Andrew Lunn, David S . Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, intel-wired-lan, netdev, linux-kernel, stable,
Fabio Sabai
On 9/28/26 13:02, Craig I. Hagan wrote:
> 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: 2e7256f12cdb ("e1000e: Check the PCIm state")
Wasn't this bug introduced in def4ec6dce39 ? The more recent commit seems
like it just adds a pre-condition for the DMoff workaround. Tagging that
commit could cause stable to miss backport to 5.10.
Otherwise:
Reviewed-by: Matt Vollrath <tactii@gmail.com>
Tested-by: Matt Vollrath <tactii@gmail.com>
> Cc: stable@vger.kernel.org
> Reported-by: Fabio Sabai <sabfabio@amazon.com>
> Closes: https://github.com/systemd/systemd/issues/25925
> Suggested-by: Matt Vollrath <tactii@gmail.com>
> Assisted-by: LLM
> Signed-off-by: Craig I. Hagan <hagan@amazon.com>
> ---
> v2: Rework per review. Instead of the fc-latch autoneg-restart
> approach, 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@amazon.com/
>
> 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;
> + }
> }
> }
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH iwl-net v3] e1000e: restore jumbo config after DMoff exit
2026-09-28 19:23 ` Matt Vollrath
@ 2026-09-28 21:05 ` Craig I. Hagan
2026-09-29 7:05 ` Loktionov, Aleksandr
0 siblings, 1 reply; 5+ messages in thread
From: Craig I. Hagan @ 2026-09-28 21:05 UTC (permalink / raw)
To: Tony Nguyen, Przemek Kitszel
Cc: Andrew Lunn, David S . Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, intel-wired-lan, netdev, linux-kernel, stable,
Fabio Sabai, Matt Vollrath
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@vger.kernel.org
Reported-by: Fabio Sabai <sabfabio@amazon.com>
Closes: https://github.com/systemd/systemd/issues/25925
Suggested-by: Matt Vollrath <tactii@gmail.com>
Reviewed-by: Matt Vollrath <tactii@gmail.com>
Tested-by: Matt Vollrath <tactii@gmail.com>
Assisted-by: LLM
Signed-off-by: Craig I. Hagan <hagan@amazon.com>
---
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@amazon.com/
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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* RE: [PATCH iwl-net v3] e1000e: restore jumbo config after DMoff exit
2026-09-28 21:05 ` [PATCH iwl-net v3] " Craig I. Hagan
@ 2026-09-29 7:05 ` Loktionov, Aleksandr
2026-10-19 14:31 ` Kadosh, MoriyaX
0 siblings, 1 reply; 5+ messages in thread
From: Loktionov, Aleksandr @ 2026-09-29 7:05 UTC (permalink / raw)
To: Craig I. Hagan, Nguyen, Anthony L, Kitszel, Przemyslaw
Cc: Andrew Lunn, David S . Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, intel-wired-lan@lists.osuosl.org,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
stable@vger.kernel.org, Fabio Sabai, Matt Vollrath
> -----Original Message-----
> From: Craig I. Hagan <hagan@amazon.com>
> Sent: Monday, September 28, 2026 11:06 PM
> To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel,
> Przemyslaw <przemyslaw.kitszel@intel.com>
> Cc: Andrew Lunn <andrew+netdev@lunn.ch>; David S . Miller
> <davem@davemloft.net>; Eric Dumazet <edumazet@google.com>; Jakub
> Kicinski <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>; intel-
> wired-lan@lists.osuosl.org; netdev@vger.kernel.org; linux-
> kernel@vger.kernel.org; stable@vger.kernel.org; Fabio Sabai
> <sabfabio@amazon.com>; Matt Vollrath <tactii@gmail.com>
> 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@vger.kernel.org
> Reported-by: Fabio Sabai <sabfabio@amazon.com>
> Closes: https://github.com/systemd/systemd/issues/25925
> Suggested-by: Matt Vollrath <tactii@gmail.com>
> Reviewed-by: Matt Vollrath <tactii@gmail.com>
> Tested-by: Matt Vollrath <tactii@gmail.com>
> Assisted-by: LLM
> Signed-off-by: Craig I. Hagan <hagan@amazon.com>
> ---
> 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@amazon.com/
>
> 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@intel.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH iwl-net v3] e1000e: restore jumbo config after DMoff exit
2026-09-29 7:05 ` Loktionov, Aleksandr
@ 2026-10-19 14:31 ` Kadosh, MoriyaX
0 siblings, 0 replies; 5+ messages in thread
From: Kadosh, MoriyaX @ 2026-10-19 14:31 UTC (permalink / raw)
To: Loktionov, Aleksandr, Craig I. Hagan, Nguyen, Anthony L,
Kitszel, Przemyslaw
Cc: Andrew Lunn, David S . Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, intel-wired-lan@lists.osuosl.org,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
stable@vger.kernel.org, Fabio Sabai, Matt Vollrath
On 29/09/2026 10:05, Loktionov, Aleksandr wrote:
>
>
>> -----Original Message-----
>> From: Craig I. Hagan <hagan@amazon.com>
>> Sent: Monday, September 28, 2026 11:06 PM
>> To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel,
>> Przemyslaw <przemyslaw.kitszel@intel.com>
>> Cc: Andrew Lunn <andrew+netdev@lunn.ch>; David S . Miller
>> <davem@davemloft.net>; Eric Dumazet <edumazet@google.com>; Jakub
>> Kicinski <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>; intel-
>> wired-lan@lists.osuosl.org; netdev@vger.kernel.org; linux-
>> kernel@vger.kernel.org; stable@vger.kernel.org; Fabio Sabai
>> <sabfabio@amazon.com>; Matt Vollrath <tactii@gmail.com>
>> 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@vger.kernel.org
>> Reported-by: Fabio Sabai <sabfabio@amazon.com>
>> Closes: https://github.com/systemd/systemd/issues/25925
>> Suggested-by: Matt Vollrath <tactii@gmail.com>
>> Reviewed-by: Matt Vollrath <tactii@gmail.com>
>> Tested-by: Matt Vollrath <tactii@gmail.com>
>> Assisted-by: LLM
>> Signed-off-by: Craig I. Hagan <hagan@amazon.com>
>> ---
>> 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@amazon.com/
>>
>> 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@intel.com>
Tested-by: Moriya Kadosh <moriyax.kadosh@intel.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-10-19 14:31 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20260923235832.473-1-hagan@amazon.com>
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
2026-10-19 14:31 ` Kadosh, MoriyaX
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox