OSDN Git Service

RDMA/mlx5: Promote RSS RAW QP attribute check in higher level
authorLeon Romanovsky <leonro@mellanox.com>
Mon, 27 Apr 2020 15:46:21 +0000 (18:46 +0300)
committerJason Gunthorpe <jgg@mellanox.com>
Thu, 30 Apr 2020 21:45:43 +0000 (18:45 -0300)
Perform check of attributes of RAW PACKET QP in separate function.

Link: https://lore.kernel.org/r/20200427154636.381474-22-leon@kernel.org
Reviewed-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/mlx5/qp.c

index 0d3f4ba..454433a 100644 (file)
@@ -1645,9 +1645,6 @@ static int create_rss_raw_qp_tir(struct ib_pd *pd, struct mlx5_ib_qp *qp,
        size_t required_cmd_sz;
        u8 lb_flag = 0;
 
-       if (init_attr->send_cq)
-               return -EINVAL;
-
        min_resp_len = offsetof(typeof(resp), bfreg_index) + sizeof(resp.bfreg_index);
        if (udata->outlen < min_resp_len)
                return -EINVAL;
@@ -2693,6 +2690,9 @@ static int check_qp_attr(struct mlx5_ib_dev *dev, struct mlx5_ib_qp *qp,
                              -EINVAL :
                              0;
                break;
+       case IB_QPT_RAW_PACKET:
+               ret = (attr->rwq_ind_tbl && attr->send_cq) ? -EINVAL : 0;
+               break;
        default:
                break;
        }