|
Thomas Bogendoerfer |
84fb0b |
From: Aya Levin <ayal@nvidia.com>
|
|
Thomas Bogendoerfer |
84fb0b |
Date: Tue, 8 Jun 2021 16:38:30 +0300
|
|
Thomas Bogendoerfer |
84fb0b |
Subject: net/mlx5: Fix return value from tracer initialization
|
|
Thomas Bogendoerfer |
84fb0b |
Patch-mainline: v5.14-rc6
|
|
Thomas Bogendoerfer |
84fb0b |
Git-commit: bd37c2888ccaa5ceb9895718f6909b247cc372e0
|
|
Thomas Bogendoerfer |
84fb0b |
References: git-fixes
|
|
Thomas Bogendoerfer |
84fb0b |
|
|
Thomas Bogendoerfer |
84fb0b |
Check return value of mlx5_fw_tracer_start(), set error path and fix
|
|
Thomas Bogendoerfer |
84fb0b |
return value of mlx5_fw_tracer_init() accordingly.
|
|
Thomas Bogendoerfer |
84fb0b |
|
|
Thomas Bogendoerfer |
84fb0b |
Fixes: c71ad41ccb0c ("net/mlx5: FW tracer, events handling")
|
|
Thomas Bogendoerfer |
84fb0b |
Signed-off-by: Aya Levin <ayal@nvidia.com>
|
|
Thomas Bogendoerfer |
84fb0b |
Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
|
|
Thomas Bogendoerfer |
84fb0b |
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
|
|
Thomas Bogendoerfer |
84fb0b |
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
|
|
Thomas Bogendoerfer |
84fb0b |
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
|
|
Thomas Bogendoerfer |
84fb0b |
---
|
|
Thomas Bogendoerfer |
84fb0b |
drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c | 11 +++++++++--
|
|
Thomas Bogendoerfer |
84fb0b |
1 file changed, 9 insertions(+), 2 deletions(-)
|
|
Thomas Bogendoerfer |
84fb0b |
|
|
Thomas Bogendoerfer |
84fb0b |
--- a/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c
|
|
Thomas Bogendoerfer |
84fb0b |
+++ b/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c
|
|
Thomas Bogendoerfer |
84fb0b |
@@ -1017,12 +1017,19 @@ int mlx5_fw_tracer_init(struct mlx5_fw_t
|
|
Thomas Bogendoerfer |
84fb0b |
MLX5_NB_INIT(&tracer->nb, fw_tracer_event, DEVICE_TRACER);
|
|
Thomas Bogendoerfer |
84fb0b |
mlx5_eq_notifier_register(dev, &tracer->nb);
|
|
Thomas Bogendoerfer |
84fb0b |
|
|
Thomas Bogendoerfer |
84fb0b |
- mlx5_fw_tracer_start(tracer);
|
|
Thomas Bogendoerfer |
84fb0b |
-
|
|
Thomas Bogendoerfer |
84fb0b |
+ err = mlx5_fw_tracer_start(tracer);
|
|
Thomas Bogendoerfer |
84fb0b |
+ if (err) {
|
|
Thomas Bogendoerfer |
84fb0b |
+ mlx5_core_warn(dev, "FWTracer: Failed to start tracer %d\n", err);
|
|
Thomas Bogendoerfer |
84fb0b |
+ goto err_notifier_unregister;
|
|
Thomas Bogendoerfer |
84fb0b |
+ }
|
|
Thomas Bogendoerfer |
84fb0b |
return 0;
|
|
Thomas Bogendoerfer |
84fb0b |
|
|
Thomas Bogendoerfer |
84fb0b |
+err_notifier_unregister:
|
|
Thomas Bogendoerfer |
84fb0b |
+ mlx5_eq_notifier_unregister(dev, &tracer->nb);
|
|
Thomas Bogendoerfer |
84fb0b |
+ mlx5_core_destroy_mkey(dev, &tracer->buff.mkey);
|
|
Thomas Bogendoerfer |
84fb0b |
err_dealloc_pd:
|
|
Thomas Bogendoerfer |
84fb0b |
mlx5_core_dealloc_pd(dev, tracer->buff.pdn);
|
|
Thomas Bogendoerfer |
84fb0b |
+ cancel_work_sync(&tracer->read_fw_strings_work);
|
|
Thomas Bogendoerfer |
84fb0b |
return err;
|
|
Thomas Bogendoerfer |
84fb0b |
}
|
|
Thomas Bogendoerfer |
84fb0b |
|