Intel-Wired-Lan Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-wired-lan] [PATCH net v1] i40e: Fix to stop tx_timeout recovery if GLOBR fails
@ 2022-07-13 13:41 Mateusz Palczewski
  2022-07-14 20:52 ` Tony Nguyen
  0 siblings, 1 reply; 2+ messages in thread
From: Mateusz Palczewski @ 2022-07-13 13:41 UTC (permalink / raw)
  To: intel-wired-lan

When a tx_timeout fires, the PF attempts to recover by incrementally
resetting.  First we try a PFR, then CORER and finally a GLOBR.  If the
GLOBR fails, then we keep hitting the tx_timeout and incrementing the
recovery level and issuing dmesgs, which is both annoying to the user
and accomplishes nothing.

If the GLOBR fails, then we're pretty much totally hosed, and there's
not much else we can do to recover, so this makes it such that we just
kill the VSI and stop hitting the tx_timeout in such a case.

Fixes: 41c445ff0f48 ("i40e: main driver core")
Signed-off-by: Alan Brady <alan.brady@intel.com>
Signed-off-by: Mateusz Palczewski <mateusz.palczewski@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_main.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 685556e968f2..71a8e1698ed4 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -384,7 +384,9 @@ static void i40e_tx_timeout(struct net_device *netdev, unsigned int txqueue)
 		set_bit(__I40E_GLOBAL_RESET_REQUESTED, pf->state);
 		break;
 	default:
-		netdev_err(netdev, "tx_timeout recovery unsuccessful\n");
+		netdev_err(netdev, "tx_timeout recovery unsuccessful, device is in non-recoverable state.\n");
+		set_bit(__I40E_DOWN_REQUESTED, pf->state);
+		set_bit(__I40E_VSI_DOWN_REQUESTED, vsi->state);
 		break;
 	}
 
-- 
2.27.0

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Intel-wired-lan] [PATCH net v1] i40e: Fix to stop tx_timeout recovery if GLOBR fails
  2022-07-13 13:41 [Intel-wired-lan] [PATCH net v1] i40e: Fix to stop tx_timeout recovery if GLOBR fails Mateusz Palczewski
@ 2022-07-14 20:52 ` Tony Nguyen
  0 siblings, 0 replies; 2+ messages in thread
From: Tony Nguyen @ 2022-07-14 20:52 UTC (permalink / raw)
  To: Mateusz Palczewski, intel-wired-lan



On 7/13/2022 6:41 AM, Mateusz Palczewski wrote:
> When a tx_timeout fires, the PF attempts to recover by incrementally
> resetting.  First we try a PFR, then CORER and finally a GLOBR.  If the
> GLOBR fails, then we keep hitting the tx_timeout and incrementing the
> recovery level and issuing dmesgs, which is both annoying to the user
> and accomplishes nothing.
> 
> If the GLOBR fails, then we're pretty much totally hosed, and there's
> not much else we can do to recover, so this makes it such that we just
> kill the VSI and stop hitting the tx_timeout in such a case.
> 
> Fixes: 41c445ff0f48 ("i40e: main driver core")
> Signed-off-by: Alan Brady <alan.brady@intel.com>
> Signed-off-by: Mateusz Palczewski <mateusz.palczewski@intel.com>

By ordering, I believe Alan is the author? Please either correct 
ordering or the author.
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-07-14 20:53 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-13 13:41 [Intel-wired-lan] [PATCH net v1] i40e: Fix to stop tx_timeout recovery if GLOBR fails Mateusz Palczewski
2022-07-14 20:52 ` Tony Nguyen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox