diff options
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/en/health.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en/health.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/health.c b/drivers/net/ethernet/mellanox/mlx5/core/en/health.c index c11d0162eaf8..1d6b58860da6 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/health.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/health.c @@ -98,11 +98,22 @@ int mlx5e_reporter_cq_common_diagnose(struct mlx5e_cq *cq, struct devlink_fmsg * int mlx5e_health_create_reporters(struct mlx5e_priv *priv) { - return mlx5e_reporter_tx_create(priv); + int err; + + err = mlx5e_reporter_tx_create(priv); + if (err) + return err; + + err = mlx5e_reporter_rx_create(priv); + if (err) + return err; + + return 0; } void mlx5e_health_destroy_reporters(struct mlx5e_priv *priv) { + mlx5e_reporter_rx_destroy(priv); mlx5e_reporter_tx_destroy(priv); } @@ -111,6 +122,9 @@ void mlx5e_health_channels_update(struct mlx5e_priv *priv) if (priv->tx_reporter) devlink_health_reporter_state_update(priv->tx_reporter, DEVLINK_HEALTH_REPORTER_STATE_HEALTHY); + if (priv->rx_reporter) + devlink_health_reporter_state_update(priv->rx_reporter, + DEVLINK_HEALTH_REPORTER_STATE_HEALTHY); } int mlx5e_health_sq_to_ready(struct mlx5e_channel *channel, u32 sqn) |