mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-13 14:14:37 +00:00
net/mlx5e: Set tx reporter only on successful creation
When failing to create tx reporter, don't set the reporter's pointer. Creating a reporter is not mandatory for driver load, avoid garbage/error pointer. Signed-off-by: Aya Levin <ayal@mellanox.com> Reviewed-by: Tariq Toukan <tariqt@mellanox.com> Acked-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
This commit is contained in:
parent
7f7cc235c2
commit
baf6dfdb10
2 changed files with 9 additions and 7 deletions
|
@ -117,7 +117,7 @@ static int mlx5_tx_health_report(struct devlink_health_reporter *tx_reporter,
|
|||
char *err_str,
|
||||
struct mlx5e_tx_err_ctx *err_ctx)
|
||||
{
|
||||
if (IS_ERR_OR_NULL(tx_reporter)) {
|
||||
if (!tx_reporter) {
|
||||
netdev_err(err_ctx->sq->channel->netdev, err_str);
|
||||
return err_ctx->recover(err_ctx->sq);
|
||||
}
|
||||
|
@ -289,25 +289,27 @@ static const struct devlink_health_reporter_ops mlx5_tx_reporter_ops = {
|
|||
|
||||
int mlx5e_tx_reporter_create(struct mlx5e_priv *priv)
|
||||
{
|
||||
struct devlink_health_reporter *reporter;
|
||||
struct mlx5_core_dev *mdev = priv->mdev;
|
||||
struct devlink *devlink = priv_to_devlink(mdev);
|
||||
|
||||
priv->tx_reporter =
|
||||
reporter =
|
||||
devlink_health_reporter_create(devlink, &mlx5_tx_reporter_ops,
|
||||
MLX5_REPORTER_TX_GRACEFUL_PERIOD,
|
||||
true, priv);
|
||||
if (IS_ERR(priv->tx_reporter)) {
|
||||
if (IS_ERR(reporter)) {
|
||||
netdev_warn(priv->netdev,
|
||||
"Failed to create tx reporter, err = %ld\n",
|
||||
PTR_ERR(priv->tx_reporter));
|
||||
return PTR_ERR(priv->tx_reporter);
|
||||
PTR_ERR(reporter));
|
||||
return PTR_ERR(reporter);
|
||||
}
|
||||
priv->tx_reporter = reporter;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void mlx5e_tx_reporter_destroy(struct mlx5e_priv *priv)
|
||||
{
|
||||
if (IS_ERR_OR_NULL(priv->tx_reporter))
|
||||
if (!priv->tx_reporter)
|
||||
return;
|
||||
|
||||
devlink_health_reporter_destroy(priv->tx_reporter);
|
||||
|
|
|
@ -2325,7 +2325,7 @@ int mlx5e_open_channels(struct mlx5e_priv *priv,
|
|||
goto err_close_channels;
|
||||
}
|
||||
|
||||
if (!IS_ERR_OR_NULL(priv->tx_reporter))
|
||||
if (priv->tx_reporter)
|
||||
devlink_health_reporter_state_update(priv->tx_reporter,
|
||||
DEVLINK_HEALTH_REPORTER_STATE_HEALTHY);
|
||||
|
||||
|
|
Loading…
Reference in a new issue