diff options
-rw-r--r-- | lib/bitmap.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/bitmap.c b/lib/bitmap.c index f77243ba5e1c..a0b02974d898 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c @@ -803,10 +803,8 @@ int bitmap_find_free_region(unsigned long *bitmap, unsigned int bits, int order) unsigned int pos, end; /* scans bitmap by regions of size order */ for (pos = 0; (end = pos + BIT(order)) <= bits; pos = end) { - if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE)) - continue; - __reg_op(bitmap, pos, order, REG_OP_ALLOC); - return pos; + if (!bitmap_allocate_region(bitmap, pos, order)) + return pos; } return -ENOMEM; } |