bnxt_en: Improve logging of error recovery settings information.
authorMichael Chan <michael.chan@broadcom.com>
Sun, 14 Feb 2021 23:05:01 +0000 (18:05 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Sep 2021 10:28:06 +0000 (12:28 +0200)
[ Upstream commit f4d95c3c194de04ae7b44f850131321c7ceb9312 ]

We currently only log the error recovery settings if it is enabled.
In some cases, firmware disables error recovery after it was
initially enabled.  Without logging anything, the user will not be
aware of this change in setting.

Log it when error recovery is disabled.  Also, change the reset count
value from hexadecimal to decimal.

Reviewed-by: Edwin Peer <edwin.peer@broadcom.com>
Reviewed-by: Pavan Chebbi <pavan.chebbi@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt.c

index 563a169e06ca05afc31130c58b8018ebc944a06d..4c1c41495e9f56c9a5151817533302181cf2e7f5 100644 (file)
@@ -2114,14 +2114,11 @@ static int bnxt_async_event_process(struct bnxt *bp,
 
                fw_health->enabled = EVENT_DATA1_RECOVERY_ENABLED(data1);
                fw_health->master = EVENT_DATA1_RECOVERY_MASTER_FUNC(data1);
-               if (!fw_health->enabled)
+               if (!fw_health->enabled) {
+                       netif_info(bp, drv, bp->dev,
+                                  "Error recovery info: error recovery[0]\n");
                        break;
-
-               netif_info(bp, drv, bp->dev,
-                          "Error recovery info: error recovery[%d], master[%d], reset count[0x%x], health status: 0x%x\n",
-                          fw_health->enabled, fw_health->master,
-                          bnxt_fw_health_readl(bp, BNXT_FW_RESET_CNT_REG),
-                          bnxt_fw_health_readl(bp, BNXT_FW_HEALTH_REG));
+               }
                fw_health->tmr_multiplier =
                        DIV_ROUND_UP(fw_health->polling_dsecs * HZ,
                                     bp->current_interval * 10);
@@ -2130,6 +2127,10 @@ static int bnxt_async_event_process(struct bnxt *bp,
                        bnxt_fw_health_readl(bp, BNXT_FW_HEARTBEAT_REG);
                fw_health->last_fw_reset_cnt =
                        bnxt_fw_health_readl(bp, BNXT_FW_RESET_CNT_REG);
+               netif_info(bp, drv, bp->dev,
+                          "Error recovery info: error recovery[1], master[%d], reset count[%u], health status: 0x%x\n",
+                          fw_health->master, fw_health->last_fw_reset_cnt,
+                          bnxt_fw_health_readl(bp, BNXT_FW_HEALTH_REG));
                goto async_event_process_exit;
        }
        case ASYNC_EVENT_CMPL_EVENT_ID_DEBUG_NOTIFICATION: