net/mlx5: Tolerate failures in debug features while driver load
authorAya Levin <ayal@nvidia.com>
Mon, 2 Aug 2021 10:33:03 +0000 (13:33 +0300)
committerSaeed Mahameed <saeedm@nvidia.com>
Thu, 30 Sep 2021 23:19:01 +0000 (16:19 -0700)
FW tracer and resource dump are debug features. Although failing to
initialize them may indicate an error, don't let this stop device
loading.

Signed-off-by: Aya Levin <ayal@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/main.c

index 92b08fa..5893fdd 100644 (file)
@@ -1112,8 +1112,9 @@ static int mlx5_load(struct mlx5_core_dev *dev)
 
        err = mlx5_fw_tracer_init(dev->tracer);
        if (err) {
-               mlx5_core_err(dev, "Failed to init FW tracer\n");
-               goto err_fw_tracer;
+               mlx5_core_err(dev, "Failed to init FW tracer %d\n", err);
+               mlx5_fw_tracer_destroy(dev->tracer);
+               dev->tracer = NULL;
        }
 
        mlx5_fw_reset_events_start(dev);
@@ -1121,8 +1122,9 @@ static int mlx5_load(struct mlx5_core_dev *dev)
 
        err = mlx5_rsc_dump_init(dev);
        if (err) {
-               mlx5_core_err(dev, "Failed to init Resource dump\n");
-               goto err_rsc_dump;
+               mlx5_core_err(dev, "Failed to init Resource dump %d\n", err);
+               mlx5_rsc_dump_destroy(dev);
+               dev->rsc_dump = NULL;
        }
 
        err = mlx5_fpga_device_start(dev);
@@ -1192,11 +1194,9 @@ err_tls_start:
        mlx5_fpga_device_stop(dev);
 err_fpga_start:
        mlx5_rsc_dump_cleanup(dev);
-err_rsc_dump:
        mlx5_hv_vhca_cleanup(dev->hv_vhca);
        mlx5_fw_reset_events_stop(dev);
        mlx5_fw_tracer_cleanup(dev->tracer);
-err_fw_tracer:
        mlx5_eq_table_destroy(dev);
 err_eq_table:
        mlx5_irq_table_destroy(dev);