Commit 480a39f7 authored by Michael Chan's avatar Michael Chan Committed by Zheng Zengkai
Browse files

bnxt_en: Improve logging of error recovery settings information.

stable inclusion
from stable-5.10.68
commit 9a3f52f73c04dd8dddf9209fbf555f530b315ec3
bugzilla: 182671 https://gitee.com/openeuler/kernel/issues/I4EWUH

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9a3f52f73c04dd8dddf9209fbf555f530b315ec3



--------------------------------

[ Upstream commit f4d95c3c ]

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: default avatarEdwin Peer <edwin.peer@broadcom.com>
Reviewed-by: default avatarPavan Chebbi <pavan.chebbi@broadcom.com>
Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarChen Jun <chenjun102@huawei.com>
Acked-by: default avatarWeilong Chen <chenweilong@huawei.com>

Signed-off-by: default avatarChen Jun <chenjun102@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parent 5c58d46b
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -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)
			break;

		if (!fw_health->enabled) {
			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));
				   "Error recovery info: error recovery[0]\n");
			break;
		}
		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: