IB/mlx4: Fix last allocated object tracking in bitmap allocator
Set last allocated object to the object after the one just allocated before ORing in the extra top bits. Also handle the case where this wraps around. Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
d998ccce02
commit
a2cb4a98f2
|
@ -51,8 +51,8 @@ u32 mlx4_bitmap_alloc(struct mlx4_bitmap *bitmap)
|
|||
|
||||
if (obj < bitmap->max) {
|
||||
set_bit(obj, bitmap->table);
|
||||
bitmap->last = (obj + 1) & (bitmap->max - 1);
|
||||
obj |= bitmap->top;
|
||||
bitmap->last = obj + 1;
|
||||
} else
|
||||
obj = -1;
|
||||
|
||||
|
|
Loading…
Reference in a new issue