From: Boshi Yu Date: Fri, 25 Jul 2025 05:53:56 +0000 (+0800) Subject: RDMA/erdma: Fix unset QPN of GSI QP X-Git-Tag: v6.16.4~99 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a473adc12a63a35d2f3ae095b2aa1a3002985d71;p=thirdparty%2Fkernel%2Fstable.git RDMA/erdma: Fix unset QPN of GSI QP [ Upstream commit d4ac86b47563c7895dae28658abd1879d266b2b4 ] The QPN of the GSI QP was not set, which may cause issues. Set the QPN to 1 when creating the GSI QP. Fixes: 999a0a2e9b87 ("RDMA/erdma: Support UD QPs and UD WRs") Reviewed-by: Cheng Xu Signed-off-by: Boshi Yu Link: https://patch.msgid.link/20250725055410.67520-4-boshiyu@linux.alibaba.com Reviewed-by: Zhu Yanjun Signed-off-by: Leon Romanovsky Signed-off-by: Sasha Levin --- diff --git a/drivers/infiniband/hw/erdma/erdma_verbs.c b/drivers/infiniband/hw/erdma/erdma_verbs.c index c1b2b8c3cdcca..8d7596abb8229 100644 --- a/drivers/infiniband/hw/erdma/erdma_verbs.c +++ b/drivers/infiniband/hw/erdma/erdma_verbs.c @@ -994,6 +994,8 @@ int erdma_create_qp(struct ib_qp *ibqp, struct ib_qp_init_attr *attrs, old_entry = xa_store(&dev->qp_xa, 1, qp, GFP_KERNEL); if (xa_is_err(old_entry)) ret = xa_err(old_entry); + else + qp->ibqp.qp_num = 1; } else { ret = xa_alloc_cyclic(&dev->qp_xa, &qp->ibqp.qp_num, qp, XA_LIMIT(1, dev->attrs.max_qp - 1),