[PATCH rdma-next 06/50] RDMA/efa: Rely on CPU address in create‑QP

From: Leon Romanovsky

Date: Fri Feb 13 2026 - 06:03:40 EST


From: Leon Romanovsky <leonro@xxxxxxxxxx>

Align this code with other locations where efa_free_mapped() depends on the
presence of a valid CPU address, which is guaranteed when qp->rq_size != 0.

Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxx>
---
drivers/infiniband/hw/efa/efa_verbs.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/infiniband/hw/efa/efa_verbs.c b/drivers/infiniband/hw/efa/efa_verbs.c
index ae9b98b4b528..bc69aef3e436 100644
--- a/drivers/infiniband/hw/efa/efa_verbs.c
+++ b/drivers/infiniband/hw/efa/efa_verbs.c
@@ -579,7 +579,7 @@ static int qp_mmap_entries_setup(struct efa_qp *qp,

resp->llq_desc_offset &= ~PAGE_MASK;

- if (qp->rq_size) {
+ if (qp->rq_cpu_addr) {
address = dev->db_bar_addr + resp->rq_db_offset;

qp->rq_db_mmap_entry =
@@ -828,7 +828,7 @@ int efa_create_qp(struct ib_qp *ibqp, struct ib_qp_init_attr *init_attr,
err_destroy_qp:
efa_destroy_qp_handle(dev, create_qp_resp.qp_handle);
err_free_mapped:
- if (qp->rq_size)
+ if (qp->rq_cpu_addr)
efa_free_mapped(dev, qp->rq_cpu_addr, qp->rq_dma_addr,
qp->rq_size, DMA_TO_DEVICE);
err_out:

--
2.52.0