From: Sangeetha Elumalai <sangeetha.elumalai@timesys.com>
Date: Wed, 9 Sep 2026 17:02:51 +0530

diff --git a/src/efa_verbs.c b/src/efa_verbs.c
index 3b3d149..9082af9 100644
--- a/src/efa_verbs.c
+++ b/src/efa_verbs.c
@@ -2642,17 +2642,28 @@ skip_umem_pg_sz:
 #ifdef HAVE_IB_UMEM_NUM_DMA_BLOCKS
 #ifdef HAVE_EFA_P2P
 	if (mr->p2pmem)
+#ifdef CONFIG_64BIT
 		params.page_num = DIV_ROUND_UP(length +
 					       (virt_addr & (pg_sz - 1)),
 					       pg_sz);
+#else
+		params.page_num = DIV_ROUND_UP_ULL(length +
+					       (virt_addr & (pg_sz - 1)),
+					       pg_sz);
+#endif
 	else
 		params.page_num = ib_umem_num_dma_blocks(mr->umem, pg_sz);
 #else
 	params.page_num = ib_umem_num_dma_blocks(mr->umem, pg_sz);
 #endif
 #else
+#ifdef CONFIG_64BIT
 	params.page_num = DIV_ROUND_UP(length + (virt_addr & (pg_sz - 1)),
 				       pg_sz);
+#else
+	params.page_num = DIV_ROUND_UP_ULL(length + (virt_addr & (pg_sz - 1)),
+				       pg_sz);
+#endif
 #endif
 
 	ibdev_dbg(&dev->ibdev,
