If there is the support of DevX is exposed by rdma-core but DevX is not supported by or disabled for the specific interface the mlx5_devx_cmd_query_hca_attr() routine returns an error preventing the device from successful probing. The routine should be invoked only in case of enabled DevX.
Fixes: e2b4925ef7c1 ("net/mlx5: support Direct Rules E-Switch") Cc: Ori Kam <or...@mellanox.com> Signed-off-by: Viacheslav Ovsiienko <viachesl...@mellanox.com> --- drivers/net/mlx5/mlx5.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index 46ca08a..3f43022 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -1517,10 +1517,12 @@ struct mlx5_dev_spawn_data { */ mlx5_link_update(eth_dev, 0); #ifdef HAVE_IBV_DEVX_OBJ - err = mlx5_devx_cmd_query_hca_attr(sh->ctx, &config.hca_attr); - if (err) { - err = -err; - goto error; + if (config.devx) { + err = mlx5_devx_cmd_query_hca_attr(sh->ctx, &config.hca_attr); + if (err) { + err = -err; + goto error; + } } #endif #ifdef HAVE_MLX5DV_DR_ESWITCH -- 1.8.3.1