RDMA/hns: Don't overwrite supplied QP attributes
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: 66d86e529d
("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>
This commit is contained in:
parent
4ffd3b800e
commit
e66e49592b
|
@ -1171,14 +1171,8 @@ struct ib_qp *hns_roce_create_qp(struct ib_pd *pd,
|
||||||
if (!hr_qp)
|
if (!hr_qp)
|
||||||
return ERR_PTR(-ENOMEM);
|
return ERR_PTR(-ENOMEM);
|
||||||
|
|
||||||
if (init_attr->qp_type == IB_QPT_XRC_INI)
|
if (init_attr->qp_type == IB_QPT_XRC_TGT)
|
||||||
init_attr->recv_cq = NULL;
|
|
||||||
|
|
||||||
if (init_attr->qp_type == IB_QPT_XRC_TGT) {
|
|
||||||
hr_qp->xrcdn = to_hr_xrcd(init_attr->xrcd)->xrcdn;
|
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) {
|
if (init_attr->qp_type == IB_QPT_GSI) {
|
||||||
hr_qp->port = init_attr->port_num - 1;
|
hr_qp->port = init_attr->port_num - 1;
|
||||||
|
|
Loading…
Reference in New Issue