Commit 82319639 authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Leon Romanovsky
Browse files

RDMA/irdma: Use the bitmap API to allocate bitmaps

Use bitmap_zalloc()/bitmap_free() instead of hand-writing them.

It is less verbose and it improves the semantic.

Link: https://lore.kernel.org/r/1f671b1af5881723ee265a0a12809c92950e58aa.1657567269.git.christophe.jaillet@wanadoo.fr


Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Acked-by: default avatarShiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
parent 46195de3
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -1533,7 +1533,7 @@ static void irdma_del_init_mem(struct irdma_pci_f *rf)
			  rf->obj_mem.pa);
	rf->obj_mem.va = NULL;
	if (rf->rdma_ver != IRDMA_GEN_1) {
		kfree(rf->allocated_ws_nodes);
		bitmap_free(rf->allocated_ws_nodes);
		rf->allocated_ws_nodes = NULL;
	}
	kfree(rf->ceqlist);
@@ -1962,9 +1962,8 @@ u32 irdma_initialize_hw_rsrc(struct irdma_pci_f *rf)
	u32 ret;

	if (rf->rdma_ver != IRDMA_GEN_1) {
		rf->allocated_ws_nodes =
			kcalloc(BITS_TO_LONGS(IRDMA_MAX_WS_NODES),
				sizeof(unsigned long), GFP_KERNEL);
		rf->allocated_ws_nodes = bitmap_zalloc(IRDMA_MAX_WS_NODES,
						       GFP_KERNEL);
		if (!rf->allocated_ws_nodes)
			return -ENOMEM;

@@ -2013,7 +2012,7 @@ u32 irdma_initialize_hw_rsrc(struct irdma_pci_f *rf)
	return 0;

mem_rsrc_kzalloc_fail:
	kfree(rf->allocated_ws_nodes);
	bitmap_free(rf->allocated_ws_nodes);
	rf->allocated_ws_nodes = NULL;

	return ret;