* [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