RDMA/mana_ib: Fix bug in creation of dma regions
authorKonstantin Taranov <kotaranov@microsoft.com>
Mon, 4 Mar 2024 13:52:40 +0000 (05:52 -0800)
committerLeon Romanovsky <leon@kernel.org>
Thu, 7 Mar 2024 09:32:33 +0000 (11:32 +0200)
Use ib_umem_dma_offset() helper to calculate correct dma offset.

Fixes: 0266a177631d ("RDMA/mana_ib: Add a driver for Microsoft Azure Network Adapter")
Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
Link: https://lore.kernel.org/r/1709560361-26393-2-git-send-email-kotaranov@linux.microsoft.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/mana/main.c

index 29dd2438d4fe97578fde01309d5b37c436b62618..dd570832d61ea1302ba52f84b480841073e8d32c 100644 (file)
@@ -348,7 +348,7 @@ int mana_ib_gd_create_dma_region(struct mana_ib_dev *dev, struct ib_umem *umem,
                             sizeof(struct gdma_create_dma_region_resp));
 
        create_req->length = umem->length;
-       create_req->offset_in_page = umem->address & (page_sz - 1);
+       create_req->offset_in_page = ib_umem_dma_offset(umem, page_sz);
        create_req->gdma_page_type = order_base_2(page_sz) - PAGE_SHIFT;
        create_req->page_count = num_pages_total;