summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/infiniband/hw/mlx5/main.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
index b85ad3c0bfa1..af9ccae684ba 100644
--- a/drivers/infiniband/hw/mlx5/main.c
+++ b/drivers/infiniband/hw/mlx5/main.c
@@ -3479,7 +3479,8 @@ static int mlx5_ib_data_direct_init(struct mlx5_ib_dev *dev)
char vuid[MLX5_ST_SZ_BYTES(array1024_auto) + 1] = {};
int ret;
- if (!MLX5_CAP_GEN(dev->mdev, data_direct))
+ if (!MLX5_CAP_GEN(dev->mdev, data_direct) ||
+ !MLX5_CAP_GEN_2(dev->mdev, query_vuid))
return 0;
ret = mlx5_cmd_query_vuid(dev->mdev, true, vuid);
@@ -3500,7 +3501,8 @@ static int mlx5_ib_data_direct_init(struct mlx5_ib_dev *dev)
static void mlx5_ib_data_direct_cleanup(struct mlx5_ib_dev *dev)
{
- if (!MLX5_CAP_GEN(dev->mdev, data_direct))
+ if (!MLX5_CAP_GEN(dev->mdev, data_direct) ||
+ !MLX5_CAP_GEN_2(dev->mdev, query_vuid))
return;
mlx5_data_direct_ib_unreg(dev);