]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
RDMA/mlx5: Verify that QP is created with RQ or SQ
authorAharon Landau <aharonl@mellanox.com>
Mon, 27 Apr 2020 15:46:36 +0000 (18:46 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Jul 2020 07:33:06 +0000 (09:33 +0200)
commit 0eacc574aae7300bf46c10c7116c3ba5825505b7 upstream.

RAW packet QP and underlay QP must be created with either
RQ or SQ, check that.

Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters")
Link: https://lore.kernel.org/r/20200427154636.381474-37-leon@kernel.org
Signed-off-by: Aharon Landau <aharonl@mellanox.com>
Reviewed-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/infiniband/hw/mlx5/qp.c

index 96edc5c30204dd221c56aab0f2a3268265b43ef6..09e29c6cb66dc0eb3f34e7ba2228aee43b9b50e1 100644 (file)
@@ -1463,6 +1463,8 @@ static int create_raw_packet_qp(struct mlx5_ib_dev *dev, struct mlx5_ib_qp *qp,
        u16 uid = to_mpd(pd)->uid;
        u32 out[MLX5_ST_SZ_DW(create_tir_out)] = {};
 
+       if (!qp->sq.wqe_cnt && !qp->rq.wqe_cnt)
+               return -EINVAL;
        if (qp->sq.wqe_cnt) {
                err = create_raw_packet_qp_tis(dev, qp, sq, tdn, pd);
                if (err)