[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;
}