Commit 4ffd3b80 authored by Leon Romanovsky's avatar Leon Romanovsky Committed by Jason Gunthorpe

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.comSigned-off-by: default avatarLeon Romanovsky <leonro@nvidia.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
parent 0050a576
...@@ -758,7 +758,7 @@ static struct hns_roce_qp *hns_roce_v1_create_lp_qp(struct hns_roce_dev *hr_dev, ...@@ -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_recv_wr = HNS_ROCE_MIN_WQE_NUM;
init_attr.cap.max_send_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)) { if (IS_ERR(qp)) {
dev_err(dev, "Create loop qp for mr free failed!"); dev_err(dev, "Create loop qp for mr free failed!");
return NULL; return NULL;
...@@ -923,7 +923,7 @@ static int hns_roce_v1_rsv_lp_qp(struct hns_roce_dev *hr_dev) ...@@ -923,7 +923,7 @@ static int hns_roce_v1_rsv_lp_qp(struct hns_roce_dev *hr_dev)
create_lp_qp_failed: create_lp_qp_failed:
for (i -= 1; i >= 0; i--) { for (i -= 1; i >= 0; i--) {
hr_qp = free_mr->mr_free_qp[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); 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) ...@@ -953,7 +953,7 @@ static void hns_roce_v1_release_lp_qp(struct hns_roce_dev *hr_dev)
if (!hr_qp) if (!hr_qp)
continue; continue;
ret = hns_roce_v1_destroy_qp(&hr_qp->ibqp, NULL); ret = ib_destroy_qp(&hr_qp->ibqp);
if (ret) if (ret)
dev_err(dev, "Destroy qp %d for mr free failed(%d)!\n", dev_err(dev, "Destroy qp %d for mr free failed(%d)!\n",
i, ret); i, ret);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment