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)
committerDavid S. Miller <davem@davemloft.net>
Mon, 15 Feb 2021 01:27:51 +0000 (17:27 -0800)
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>
drivers/net/ethernet/broadcom/bnxt/bnxt.c

index 65771be..d0f3f68 100644 (file)
@@ -2055,14 +2055,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);
@@ -2071,6 +2068,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: