Commit 0c83da72 authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Jason Gunthorpe
Browse files

RDMA/mlx4: Use bitmap_alloc() when applicable

Use 'bitmap_alloc()' to simplify code, improve the semantic and avoid some
open-coded arithmetic in allocator arguments.

Also change the corresponding 'kfree()' into 'bitmap_free()' to keep
consistency.

Link: https://lore.kernel.org/r/4c93b4e02f5d784ddfd3efd4af9e673b9117d641.1637869328.git.christophe.jaillet@wanadoo.fr


Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
parent e02d9cc2
Loading
Loading
Loading
Loading
+4 −6
Original line number Original line Diff line number Diff line
@@ -2772,9 +2772,7 @@ static void *mlx4_ib_add(struct mlx4_dev *dev)
		if (err)
		if (err)
			goto err_counter;
			goto err_counter;


		ibdev->ib_uc_qpns_bitmap =
		ibdev->ib_uc_qpns_bitmap = bitmap_alloc(ibdev->steer_qpn_count,
			kmalloc_array(BITS_TO_LONGS(ibdev->steer_qpn_count),
				      sizeof(long),
							GFP_KERNEL);
							GFP_KERNEL);
		if (!ibdev->ib_uc_qpns_bitmap)
		if (!ibdev->ib_uc_qpns_bitmap)
			goto err_steer_qp_release;
			goto err_steer_qp_release;
@@ -2863,7 +2861,7 @@ static void *mlx4_ib_add(struct mlx4_dev *dev)
	mlx4_ib_diag_cleanup(ibdev);
	mlx4_ib_diag_cleanup(ibdev);


err_steer_free_bitmap:
err_steer_free_bitmap:
	kfree(ibdev->ib_uc_qpns_bitmap);
	bitmap_free(ibdev->ib_uc_qpns_bitmap);


err_steer_qp_release:
err_steer_qp_release:
	mlx4_qp_release_range(dev, ibdev->steer_qpn_base,
	mlx4_qp_release_range(dev, ibdev->steer_qpn_base,
@@ -2976,7 +2974,7 @@ static void mlx4_ib_remove(struct mlx4_dev *dev, void *ibdev_ptr)


	mlx4_qp_release_range(dev, ibdev->steer_qpn_base,
	mlx4_qp_release_range(dev, ibdev->steer_qpn_base,
			      ibdev->steer_qpn_count);
			      ibdev->steer_qpn_count);
	kfree(ibdev->ib_uc_qpns_bitmap);
	bitmap_free(ibdev->ib_uc_qpns_bitmap);


	iounmap(ibdev->uar_map);
	iounmap(ibdev->uar_map);
	for (p = 0; p < ibdev->num_ports; ++p)
	for (p = 0; p < ibdev->num_ports; ++p)