if (!minfo->xfer_block)
                return -ENOMEM;
 
-       minfo->xfer_alloc_table = devm_kcalloc(dev,
-                                              BITS_TO_LONGS(desc->max_msgs),
-                                              sizeof(unsigned long),
-                                              GFP_KERNEL);
+       minfo->xfer_alloc_table = devm_bitmap_zalloc(dev,
+                                                    desc->max_msgs,
+                                                    GFP_KERNEL);
        if (!minfo->xfer_alloc_table)
                return -ENOMEM;
-       bitmap_zero(minfo->xfer_alloc_table, desc->max_msgs);
 
        /* Pre-initialize the buffer pointer to pre-allocated buffers */
        for (i = 0, xfer = minfo->xfer_block; i < desc->max_msgs; i++, xfer++) {