RDMA/hns: Don't skip IB creation flow for regular RC QP
The call to internal QP creation function skips QP creation checks and misses the addition of such device QPs to the restrack DB. As a preparation to general allocation scheme, convert hns to use proper API. Link: https://lore.kernel.org/r/7b236c15f7d5abb368958297ac6962d8459cb824.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
0050a57638
commit
4ffd3b800e
@ -758,7 +758,7 @@ static struct hns_roce_qp *hns_roce_v1_create_lp_qp(struct hns_roce_dev *hr_dev,
|
||||
init_attr.cap.max_recv_wr = HNS_ROCE_MIN_WQE_NUM;
|
||||
init_attr.cap.max_send_wr = HNS_ROCE_MIN_WQE_NUM;
|
||||
|
||||
qp = hns_roce_create_qp(pd, &init_attr, NULL);
|
||||
qp = ib_create_qp(pd, &init_attr);
|
||||
if (IS_ERR(qp)) {
|
||||
dev_err(dev, "Create loop qp for mr free failed!");
|
||||
return NULL;
|
||||
@ -923,7 +923,7 @@ static int hns_roce_v1_rsv_lp_qp(struct hns_roce_dev *hr_dev)
|
||||
create_lp_qp_failed:
|
||||
for (i -= 1; i >= 0; i--) {
|
||||
hr_qp = free_mr->mr_free_qp[i];
|
||||
if (hns_roce_v1_destroy_qp(&hr_qp->ibqp, NULL))
|
||||
if (ib_destroy_qp(&hr_qp->ibqp))
|
||||
dev_err(dev, "Destroy qp %d for mr free failed!\n", i);
|
||||
}
|
||||
|
||||
@ -953,7 +953,7 @@ static void hns_roce_v1_release_lp_qp(struct hns_roce_dev *hr_dev)
|
||||
if (!hr_qp)
|
||||
continue;
|
||||
|
||||
ret = hns_roce_v1_destroy_qp(&hr_qp->ibqp, NULL);
|
||||
ret = ib_destroy_qp(&hr_qp->ibqp);
|
||||
if (ret)
|
||||
dev_err(dev, "Destroy qp %d for mr free failed(%d)!\n",
|
||||
i, ret);
|
||||
|
Loading…
Reference in New Issue
Block a user