bnxt_en: Don't call ULP_STOP/ULP_START during L2 reset
authorMichael Chan <michael.chan@broadcom.com>
Wed, 1 May 2024 00:30:53 +0000 (17:30 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 2 May 2024 14:27:20 +0000 (07:27 -0700)
There is no need to call ULP_STOP and ULP_START before and after the
L2 reset in bnxt_reset_task().  This L2 reset is done after detecting
TX timeout, RX ring errors, or VF config changes.  The L2 reset does
not affect RoCE since the firmware is not reset and the backing store
is left alone.

Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com>
Reviewed-by: Pavan Chebbi <pavan.chebbi@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20240501003056.100607-4-michael.chan@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt.c

index 98bff01..a4ab1b0 100644 (file)
@@ -13089,17 +13089,8 @@ static void bnxt_reset_task(struct bnxt *bp, bool silent)
        if (!silent)
                bnxt_dbg_dump_states(bp);
        if (netif_running(bp->dev)) {
-               int rc;
-
-               if (silent) {
-                       bnxt_close_nic(bp, false, false);
-                       bnxt_open_nic(bp, false, false);
-               } else {
-                       bnxt_ulp_stop(bp);
-                       bnxt_close_nic(bp, true, false);
-                       rc = bnxt_open_nic(bp, true, false);
-                       bnxt_ulp_start(bp, rc);
-               }
+               bnxt_close_nic(bp, !silent, false);
+               bnxt_open_nic(bp, !silent, false);
        }
 }