mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 01:53:29 +02:00
net: hibmcge: support for statistics of reset failures
Add a statistical item to count the number of reset failures. This statistical item can be queried using ethtool -S or reported through diagnose information. Signed-off-by: Jijie Shao <shaojijie@huawei.com> Link: https://patch.msgid.link/20250723074826.2756135-1-shaojijie@huawei.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
fe09560f82
commit
15dc08fd2c
|
|
@ -258,6 +258,7 @@ struct hbg_stats {
|
|||
u64 tx_dma_err_cnt;
|
||||
|
||||
u64 np_link_fail_cnt;
|
||||
u64 reset_fail_cnt;
|
||||
};
|
||||
|
||||
struct hbg_priv {
|
||||
|
|
|
|||
|
|
@ -156,6 +156,7 @@ static const struct hbg_push_stats_info hbg_push_stats_list[] = {
|
|||
HBG_PUSH_STATS_I(tx_drop_cnt, 84),
|
||||
HBG_PUSH_STATS_I(tx_excessive_length_drop_cnt, 85),
|
||||
HBG_PUSH_STATS_I(tx_dma_err_cnt, 86),
|
||||
HBG_PUSH_STATS_I(reset_fail_cnt, 87),
|
||||
};
|
||||
|
||||
static int hbg_push_msg_send(struct hbg_priv *priv,
|
||||
|
|
|
|||
|
|
@ -68,6 +68,7 @@ static int hbg_reset_prepare(struct hbg_priv *priv, enum hbg_reset_type type)
|
|||
clear_bit(HBG_NIC_STATE_RESET_FAIL, &priv->state);
|
||||
ret = hbg_hw_event_notify(priv, HBG_HW_EVENT_RESET);
|
||||
if (ret) {
|
||||
priv->stats.reset_fail_cnt++;
|
||||
set_bit(HBG_NIC_STATE_RESET_FAIL, &priv->state);
|
||||
clear_bit(HBG_NIC_STATE_RESETTING, &priv->state);
|
||||
}
|
||||
|
|
@ -88,6 +89,7 @@ static int hbg_reset_done(struct hbg_priv *priv, enum hbg_reset_type type)
|
|||
clear_bit(HBG_NIC_STATE_RESETTING, &priv->state);
|
||||
ret = hbg_rebuild(priv);
|
||||
if (ret) {
|
||||
priv->stats.reset_fail_cnt++;
|
||||
set_bit(HBG_NIC_STATE_RESET_FAIL, &priv->state);
|
||||
dev_err(&priv->pdev->dev, "failed to rebuild after reset\n");
|
||||
return ret;
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ static const struct hbg_ethtool_stats hbg_ethtool_stats_info[] = {
|
|||
HBG_REG_TX_EXCESSIVE_LENGTH_DROP_ADDR),
|
||||
HBG_STATS_I(tx_dma_err_cnt),
|
||||
HBG_STATS_I(tx_timeout_cnt),
|
||||
HBG_STATS_I(reset_fail_cnt),
|
||||
};
|
||||
|
||||
static const struct hbg_ethtool_stats hbg_ethtool_rmon_stats_info[] = {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user