40 lines
1.2 KiB
Diff
40 lines
1.2 KiB
Diff
|
|
From a73b31041073a45b04535c4183b39195bbebe514 Mon Sep 17 00:00:00 2001
|
||
|
|
From: wenglianfa <wenglianfa@huawei.com>
|
||
|
|
Date: Thu, 25 Jul 2024 11:06:01 +0800
|
||
|
|
Subject: [PATCH] libhns: Fix memory leakage when DCA is enabled
|
||
|
|
|
||
|
|
driver inclusion
|
||
|
|
category: feature
|
||
|
|
bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/IB66RT
|
||
|
|
|
||
|
|
------------------------------------------------------------------
|
||
|
|
|
||
|
|
After DCA is enabled and a QP is created, the memory block
|
||
|
|
applied for DCA is not free when the QP is destroyed. Here
|
||
|
|
fix it.
|
||
|
|
|
||
|
|
Fixes:26e79aa7eb8d ("libhns: Add support for attaching QP's WQE buffer")
|
||
|
|
Signed-off-by: wenglianfa <wenglianfa@huawei.com>
|
||
|
|
Signed-off-by: Xinghai Cen <cenxinghai@h-partners.com>
|
||
|
|
---
|
||
|
|
providers/hns/hns_roce_u_verbs.c | 3 ++-
|
||
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||
|
|
|
||
|
|
diff --git a/providers/hns/hns_roce_u_verbs.c b/providers/hns/hns_roce_u_verbs.c
|
||
|
|
index e30880c..c733b21 100644
|
||
|
|
--- a/providers/hns/hns_roce_u_verbs.c
|
||
|
|
+++ b/providers/hns/hns_roce_u_verbs.c
|
||
|
|
@@ -1357,7 +1357,8 @@ static void qp_free_wqe(struct hns_roce_qp *qp)
|
||
|
|
|
||
|
|
if (qp->rq.wqe_cnt)
|
||
|
|
free(qp->rq.wrid);
|
||
|
|
- hns_roce_free_buf(&qp->buf);
|
||
|
|
+ else
|
||
|
|
+ hns_roce_free_buf(&qp->buf);
|
||
|
|
}
|
||
|
|
|
||
|
|
static int qp_alloc_wqe(struct ibv_qp_init_attr_ex *attr,
|
||
|
|
--
|
||
|
|
2.25.1
|
||
|
|
|