[PATCH 1/9] RDMA/hfi2: Propagate sdma_txinit_ahg() errors in user_sdma.c

Dennis Dalessandro <[email protected]> Mon, 03 Aug 2026 12:10:57 -0400
Newsgroups org.kernel.vger.linux-rdma
Message-ID <178577345708.1793053.7854422597621103823.stgit@awdrv-04>
Propagate errors from sdma_txinit_ahg() in set_txreq_header_ahg()
rather than implicitly ignoring them and continuing. This matches the
fix applied to hfi1 in commit 091c6162c022 ("RDMA/hfi1: Propagate
sdma_txinit_ahg() errors").

Assisted-by: Claude:claude-sonnet-4-5
Signed-off-by: Dennis Dalessandro <[email protected]>
---
 drivers/infiniband/hw/hfi2/user_sdma.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/infiniband/hw/hfi2/user_sdma.c b/drivers/infiniband/hw/hfi2/user_sdma.c
index 605fc3df0ccb..e329d91b76fa 100644
--- a/drivers/infiniband/hw/hfi2/user_sdma.c
+++ b/drivers/infiniband/hw/hfi2/user_sdma.c
@@ -1466,6 +1466,7 @@ static int set_txreq_header_ahg(struct user_sdma_request *req,
 	u16 pbclen = le16_to_cpu(req->h.pbc[0]);
 	u32 val32, tidval = 0, lrhlen = get_lrh_len(req, pad_len(req, datalen));
 	size_t array_size = ARRAY_SIZE(ahg);
+	int ret;
 
 	if (pbc2lrh(req, pbclen) != lrhlen) {
 		/* PBC.PbcLengthDWs */
@@ -1583,8 +1584,11 @@ static int set_txreq_header_ahg(struct user_sdma_request *req,
 	trace_hfi2_sdma_user_header_ahg(pq->dd, pq->ctxt, pq->subctxt,
 					req->info.comp_idx, req->sde->this_idx,
 					req->ahg_idx, ahg, idx, tidval);
-	sdma_txinit_ahg(pq->dd, &tx->txreq, SDMA_TXREQ_F_USE_AHG, datalen,
-			req->ahg_idx, idx, ahg, req->hsize, user_sdma_txreq_cb);
+	ret = sdma_txinit_ahg(pq->dd, &tx->txreq, SDMA_TXREQ_F_USE_AHG, datalen,
+			      req->ahg_idx, idx, ahg, req->hsize,
+			      user_sdma_txreq_cb);
+	if (ret)
+		return ret;
 
 	return idx;
 }