RDMA/hns: Don't overwrite supplied QP attributes
authorLeon Romanovsky <leonro@nvidia.com>
Fri, 23 Jul 2021 11:39:44 +0000 (14:39 +0300)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 3 Aug 2021 16:44:26 +0000 (13:44 -0300)
QP attributes that were supplied by IB/core already have all parameters
set when they are passed to the driver. The drivers are not supposed to
change anything in struct ib_qp_init_attr.

Fixes: 66d86e529dd5 ("RDMA/hns: Add UD support for HIP09")
Link: https://lore.kernel.org/r/5987138875e8ade9aa339d4db6e1bd9694ed4591.1627040189.git.leonro@nvidia.com
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/hns/hns_roce_qp.c

index b101b7e..c3e2fee 100644 (file)
@@ -1171,14 +1171,8 @@ struct ib_qp *hns_roce_create_qp(struct ib_pd *pd,
        if (!hr_qp)
                return ERR_PTR(-ENOMEM);
 
-       if (init_attr->qp_type == IB_QPT_XRC_INI)
-               init_attr->recv_cq = NULL;
-
-       if (init_attr->qp_type == IB_QPT_XRC_TGT) {
+       if (init_attr->qp_type == IB_QPT_XRC_TGT)
                hr_qp->xrcdn = to_hr_xrcd(init_attr->xrcd)->xrcdn;
-               init_attr->recv_cq = NULL;
-               init_attr->send_cq = NULL;
-       }
 
        if (init_attr->qp_type == IB_QPT_GSI) {
                hr_qp->port = init_attr->port_num - 1;