From a758fcadb7241a058fe08a2b902e7526f80115a7 Mon Sep 17 00:00:00 2001 From: Donghua Huang Date: Mon, 10 Nov 2025 14:46:45 +0800 Subject: [PATCH] libhns: Fix wrong WQE data in new post send API when QP wraps Signed-off-by: Donghua Huang --- ...-WQE-data-in-new-post-send-API-when-.patch | 45 +++++++++++++++++++ rdma-core.spec | 9 +++- 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 0109-libhns-Fix-wrong-WQE-data-in-new-post-send-API-when-.patch diff --git a/0109-libhns-Fix-wrong-WQE-data-in-new-post-send-API-when-.patch b/0109-libhns-Fix-wrong-WQE-data-in-new-post-send-API-when-.patch new file mode 100644 index 0000000..8599033 --- /dev/null +++ b/0109-libhns-Fix-wrong-WQE-data-in-new-post-send-API-when-.patch @@ -0,0 +1,45 @@ +From 13ca47a2fc57f82b4000f4468404453e7bde04cf Mon Sep 17 00:00:00 2001 +From: Junxian Huang +Date: Thu, 6 Nov 2025 19:30:43 +0800 +Subject: [PATCH] libhns: Fix wrong WQE data in new post send API when QP wraps + around + +driver inclusion +category: bugfix +bugzilla: https://gitee.com/openeuler/kernel/issues/ID5TLL + +---------------------------------------------------------------------- + +The modification in the fixes commit should also be applied to +new post send API. + +Fixes: 7a5aa1ff1e78 ("libhns: Fix wrong WQE data when QP wraps around") +Signed-off-by: Junxian Huang +Signed-off-by: Donghua Huang +--- + providers/hns/hns_roce_u_hw_v2.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c +index 8e877c4..533462f 100644 +--- a/providers/hns/hns_roce_u_hw_v2.c ++++ b/providers/hns/hns_roce_u_hw_v2.c +@@ -2457,6 +2457,7 @@ init_rc_wqe(struct hns_roce_qp *qp, uint64_t wr_id, unsigned int opcode) + wqe_idx = qp->sq.head & (qp->sq.wqe_cnt - 1); + wqe = get_send_wqe(qp, wqe_idx); + ++ wqe->byte_4 = 0; + hr_reg_write(wqe, RCWQE_OPCODE, opcode); + hr_reg_write_bool(wqe, RCWQE_CQE, send_flags & IBV_SEND_SIGNALED); + hr_reg_write_bool(wqe, RCWQE_FENCE, send_flags & IBV_SEND_FENCE); +@@ -2782,6 +2783,7 @@ init_ud_wqe(struct hns_roce_qp *qp, uint64_t wr_id, unsigned int opcode) + wqe_idx = qp->sq.head & (qp->sq.wqe_cnt - 1); + wqe = get_send_wqe(qp, wqe_idx); + ++ wqe->rsv_opcode = 0; + hr_reg_write(wqe, UDWQE_OPCODE, opcode); + hr_reg_write_bool(wqe, UDWQE_CQE, send_flags & IBV_SEND_SIGNALED); + hr_reg_write_bool(wqe, UDWQE_SE, send_flags & IBV_SEND_SOLICITED); +-- +2.33.0 + diff --git a/rdma-core.spec b/rdma-core.spec index 504a933..33773de 100644 --- a/rdma-core.spec +++ b/rdma-core.spec @@ -1,6 +1,6 @@ Name: rdma-core Version: 41.0 -Release: 39 +Release: 40 Summary: RDMA core userspace libraries and daemons License: GPLv2 or BSD Url: https://github.com/linux-rdma/rdma-core @@ -114,6 +114,7 @@ patch105: 0105-libhns-Add-debug-log-for-lock-free-mode.patch patch106: 0106-libhns-Clean-up-DCA-magic-number-warnings.patch patch107: 0107-libhns-Clean-up-space-tab-blank-line-warnings.patch patch108: 0108-libhns-Fix-wrong-WQE-data-when-QP-wraps-around.patch +patch109: 0109-libhns-Fix-wrong-WQE-data-in-new-post-send-API-when-.patch BuildRequires: binutils cmake >= 2.8.11 gcc libudev-devel pkgconfig pkgconfig(libnl-3.0) BuildRequires: pkgconfig(libnl-route-3.0) valgrind-devel systemd systemd-devel @@ -366,6 +367,12 @@ fi %{_mandir}/* %changelog +* Mon Nov 10 2025 Donghua Huang - 41.0-40 +- Type: bugfix +- ID: NA +- SUG: NA +- DESC: libhns: Fix wrong WQE data in new post send API when QP wraps around + * Mon Oct 27 2025 Donghua Huang - 41.0-39 - Type: bugfix - ID: NA -- Gitee