Merge commit 'origin/master' into next
This commit is contained in:
16
lib/bitmap.c
16
lib/bitmap.c
@ -948,15 +948,15 @@ done:
|
||||
*/
|
||||
int bitmap_find_free_region(unsigned long *bitmap, int bits, int order)
|
||||
{
|
||||
int pos; /* scans bitmap by regions of size order */
|
||||
int pos, end; /* scans bitmap by regions of size order */
|
||||
|
||||
for (pos = 0; pos < bits; pos += (1 << order))
|
||||
if (__reg_op(bitmap, pos, order, REG_OP_ISFREE))
|
||||
break;
|
||||
if (pos == bits)
|
||||
return -ENOMEM;
|
||||
__reg_op(bitmap, pos, order, REG_OP_ALLOC);
|
||||
return pos;
|
||||
for (pos = 0 ; (end = pos + (1 << order)) <= bits; pos = end) {
|
||||
if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE))
|
||||
continue;
|
||||
__reg_op(bitmap, pos, order, REG_OP_ALLOC);
|
||||
return pos;
|
||||
}
|
||||
return -ENOMEM;
|
||||
}
|
||||
EXPORT_SYMBOL(bitmap_find_free_region);
|
||||
|
||||
|
@ -449,6 +449,7 @@ void idr_remove_all(struct idr *idp)
|
||||
|
||||
n = idp->layers * IDR_BITS;
|
||||
p = idp->top;
|
||||
rcu_assign_pointer(idp->top, NULL);
|
||||
max = 1 << n;
|
||||
|
||||
id = 0;
|
||||
@ -467,7 +468,6 @@ void idr_remove_all(struct idr *idp)
|
||||
p = *--paa;
|
||||
}
|
||||
}
|
||||
rcu_assign_pointer(idp->top, NULL);
|
||||
idp->layers = 0;
|
||||
}
|
||||
EXPORT_SYMBOL(idr_remove_all);
|
||||
|
Reference in New Issue
Block a user