aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/mlx5/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/hw/mlx5/main.c')
-rw-r--r--drivers/infiniband/hw/mlx5/main.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
index ec737e2287fe..03c418ccbc98 100644
--- a/drivers/infiniband/hw/mlx5/main.c
+++ b/drivers/infiniband/hw/mlx5/main.c
@@ -844,6 +844,8 @@ static struct ib_ucontext *mlx5_ib_alloc_ucontext(struct ib_device *ibdev,
844 int err; 844 int err;
845 int i; 845 int i;
846 size_t reqlen; 846 size_t reqlen;
847 size_t min_req_v2 = offsetof(struct mlx5_ib_alloc_ucontext_req_v2,
848 max_cqe_version);
847 849
848 if (!dev->ib_active) 850 if (!dev->ib_active)
849 return ERR_PTR(-EAGAIN); 851 return ERR_PTR(-EAGAIN);
@@ -854,7 +856,7 @@ static struct ib_ucontext *mlx5_ib_alloc_ucontext(struct ib_device *ibdev,
854 reqlen = udata->inlen - sizeof(struct ib_uverbs_cmd_hdr); 856 reqlen = udata->inlen - sizeof(struct ib_uverbs_cmd_hdr);
855 if (reqlen == sizeof(struct mlx5_ib_alloc_ucontext_req)) 857 if (reqlen == sizeof(struct mlx5_ib_alloc_ucontext_req))
856 ver = 0; 858 ver = 0;
857 else if (reqlen >= sizeof(struct mlx5_ib_alloc_ucontext_req_v2)) 859 else if (reqlen >= min_req_v2)
858 ver = 2; 860 ver = 2;
859 else 861 else
860 return ERR_PTR(-EINVAL); 862 return ERR_PTR(-EINVAL);
@@ -2214,7 +2216,9 @@ static void *mlx5_ib_add(struct mlx5_core_dev *mdev)
2214 (1ull << IB_USER_VERBS_CMD_CREATE_XSRQ) | 2216 (1ull << IB_USER_VERBS_CMD_CREATE_XSRQ) |
2215 (1ull << IB_USER_VERBS_CMD_OPEN_QP); 2217 (1ull << IB_USER_VERBS_CMD_OPEN_QP);
2216 dev->ib_dev.uverbs_ex_cmd_mask = 2218 dev->ib_dev.uverbs_ex_cmd_mask =
2217 (1ull << IB_USER_VERBS_EX_CMD_QUERY_DEVICE); 2219 (1ull << IB_USER_VERBS_EX_CMD_QUERY_DEVICE) |
2220 (1ull << IB_USER_VERBS_EX_CMD_CREATE_CQ) |
2221 (1ull << IB_USER_VERBS_EX_CMD_CREATE_QP);
2218 2222
2219 dev->ib_dev.query_device = mlx5_ib_query_device; 2223 dev->ib_dev.query_device = mlx5_ib_query_device;
2220 dev->ib_dev.query_port = mlx5_ib_query_port; 2224 dev->ib_dev.query_port = mlx5_ib_query_port;