]> git.hungrycats.org Git - linux/commitdiff
RDMA/mana_ib: use the correct page table index based on hardware page size
authorLong Li <longli@microsoft.com>
Fri, 30 Aug 2024 15:16:32 +0000 (08:16 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Oct 2024 10:01:11 +0000 (12:01 +0200)
[ Upstream commit 9e517a8e9d9a303bf9bde35e5c5374795544c152 ]

MANA hardware uses 4k page size. When calculating the page table index,
it should use the hardware page size, not the system page size.

Cc: stable@vger.kernel.org
Fixes: 0266a177631d ("RDMA/mana_ib: Add a driver for Microsoft Azure Network Adapter")
Signed-off-by: Long Li <longli@microsoft.com>
Link: https://patch.msgid.link/1725030993-16213-1-git-send-email-longli@linuxonhyperv.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/infiniband/hw/mana/main.c

index 1543b436ddc685653f2a8f655f5f1349672a5899..f2a2ce800443a82906df95a79612329e41279550 100644 (file)
@@ -383,7 +383,7 @@ static int mana_ib_gd_create_dma_region(struct mana_ib_dev *dev, struct ib_umem
 
        create_req->length = umem->length;
        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->gdma_page_type = order_base_2(page_sz) - MANA_PAGE_SHIFT;
        create_req->page_count = num_pages_total;
 
        ibdev_dbg(&dev->ib_dev, "size_dma_region %lu num_pages_total %lu\n",