RDMA/core: Delete duplicated and unreachable code
authorLeon Romanovsky <leonro@nvidia.com>
Tue, 3 Aug 2021 18:20:33 +0000 (21:20 +0300)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 3 Aug 2021 18:26:18 +0000 (15:26 -0300)
The ib_create_named_qp() is kernel verb and no kernel users exist that use
XRC_INI QP. Hence such QP path is not reachable. In addition, delete
duplicated assignments of QP attributes from the initialization structure.

Link: https://lore.kernel.org/r/1b4c0d1def5f8f6d26839e14d19da950cc4a0b05.1628014762.git.leonro@nvidia.com
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/core/core_priv.h
drivers/infiniband/core/verbs.c

index fa2e0bb..c870ade 100644 (file)
@@ -341,6 +341,7 @@ _ib_create_qp(struct ib_device *dev, struct ib_pd *pd,
        qp->srq = attr->srq;
        qp->event_handler = attr->event_handler;
        qp->port = attr->port_num;
+       qp->qp_context = attr->qp_context;
 
        spin_lock_init(&qp->mr_lock);
        INIT_LIST_HEAD(&qp->rdma_mrs);
index 89c6987..635642a 100644 (file)
@@ -1257,28 +1257,14 @@ struct ib_qp *ib_create_named_qp(struct ib_pd *pd,
                return xrc_qp;
        }
 
-       qp->event_handler = qp_init_attr->event_handler;
-       qp->qp_context = qp_init_attr->qp_context;
-       if (qp_init_attr->qp_type == IB_QPT_XRC_INI) {
-               qp->recv_cq = NULL;
-               qp->srq = NULL;
-       } else {
-               qp->recv_cq = qp_init_attr->recv_cq;
-               if (qp_init_attr->recv_cq)
-                       atomic_inc(&qp_init_attr->recv_cq->usecnt);
-               qp->srq = qp_init_attr->srq;
-               if (qp->srq)
-                       atomic_inc(&qp_init_attr->srq->usecnt);
-       }
-
-       qp->send_cq = qp_init_attr->send_cq;
-       qp->xrcd    = NULL;
+       if (qp_init_attr->recv_cq)
+               atomic_inc(&qp_init_attr->recv_cq->usecnt);
+       if (qp->srq)
+               atomic_inc(&qp_init_attr->srq->usecnt);
 
        atomic_inc(&pd->usecnt);
        if (qp_init_attr->send_cq)
                atomic_inc(&qp_init_attr->send_cq->usecnt);
-       if (qp_init_attr->rwq_ind_tbl)
-               atomic_inc(&qp->rwq_ind_tbl->usecnt);
 
        if (qp_init_attr->cap.max_rdma_ctxs) {
                ret = rdma_rw_init_mrs(qp, qp_init_attr);