RDMA/bnxt_re: Use bitmap_zalloc() when applicable
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Thu, 25 Nov 2021 20:42:28 +0000 (21:42 +0100)
committerJason Gunthorpe <jgg@nvidia.com>
Mon, 29 Nov 2021 18:33:56 +0000 (14:33 -0400)
Use 'bitmap_zalloc()' 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/5c029daf43b92fdc27926fe8a98084843437c498.1637872888.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c

index 19a0778d38a2d8f5b8dd49c883fea96d1f1b3b9f..061b2895dd9b575145244476ec084de08cce71ac 100644 (file)
@@ -555,7 +555,7 @@ skip_ctx_setup:
 
 void bnxt_qplib_free_rcfw_channel(struct bnxt_qplib_rcfw *rcfw)
 {
-       kfree(rcfw->cmdq.cmdq_bitmap);
+       bitmap_free(rcfw->cmdq.cmdq_bitmap);
        kfree(rcfw->qp_tbl);
        kfree(rcfw->crsqe_tbl);
        bnxt_qplib_free_hwq(rcfw->res, &rcfw->cmdq.hwq);
@@ -572,7 +572,6 @@ int bnxt_qplib_alloc_rcfw_channel(struct bnxt_qplib_res *res,
        struct bnxt_qplib_sg_info sginfo = {};
        struct bnxt_qplib_cmdq_ctx *cmdq;
        struct bnxt_qplib_creq_ctx *creq;
-       u32 bmap_size = 0;
 
        rcfw->pdev = res->pdev;
        cmdq = &rcfw->cmdq;
@@ -613,8 +612,7 @@ int bnxt_qplib_alloc_rcfw_channel(struct bnxt_qplib_res *res,
        if (!rcfw->crsqe_tbl)
                goto fail;
 
-       bmap_size = BITS_TO_LONGS(rcfw->cmdq_depth) * sizeof(unsigned long);
-       cmdq->cmdq_bitmap = kzalloc(bmap_size, GFP_KERNEL);
+       cmdq->cmdq_bitmap = bitmap_zalloc(rcfw->cmdq_depth, GFP_KERNEL);
        if (!cmdq->cmdq_bitmap)
                goto fail;