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 98bff01b89ff3c924eddb6587dc592f9fa0b3ff9..a4ab1b09b27b4d1cf7763a9945c7e1dccb9c818f 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);
        }
 }