1) Current rdma_rxe only supports five QP types which always sets recv_cq. 2) INI QP doesn't set recv_cq(NULL) so creating INI QP over softroce triggers 'missing cq' warning. Avoid the warning by checking supported QP type. Signed-off-by: Xiao Yang <yangx.jy@xxxxxxxxxxxxxx> --- drivers/infiniband/sw/rxe/rxe_qp.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/infiniband/sw/rxe/rxe_qp.c b/drivers/infiniband/sw/rxe/rxe_qp.c index 656a5b4be847..65c8df812aeb 100644 --- a/drivers/infiniband/sw/rxe/rxe_qp.c +++ b/drivers/infiniband/sw/rxe/rxe_qp.c @@ -62,6 +62,17 @@ int rxe_qp_chk_init(struct rxe_dev *rxe, struct ib_qp_init_attr *init) struct rxe_port *port; int port_num = init->port_num; + switch(init->qp_type) { + case IB_QPT_SMI: + case IB_QPT_GSI: + case IB_QPT_RC: + case IB_QPT_UC: + case IB_QPT_UD: + break; + default: + return -EOPNOTSUPP; + } + if (!init->recv_cq || !init->send_cq) { pr_warn("missing cq\n"); goto err1; -- 2.25.1