]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
RDMA/efa: Rely on CPU address in create‑QP
authorLeon Romanovsky <leonro@nvidia.com>
Fri, 13 Feb 2026 10:57:42 +0000 (12:57 +0200)
committerLeon Romanovsky <leonro@nvidia.com>
Wed, 25 Feb 2026 13:15:30 +0000 (08:15 -0500)
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.

Link: https://patch.msgid.link/20260213-refactor-umem-v1-6-f3be85847922@nvidia.com
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
drivers/infiniband/hw/efa/efa_verbs.c

index 7180d31218c5a793fb80d34b8e216d1edfcf433f..776ae5103706a6dae67249ce7a5ab94835d0969b 100644 (file)
@@ -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 @@ err_remove_mmap_entries:
 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: