diff options
Diffstat (limited to 'lib/genalloc.c')
| -rw-r--r-- | lib/genalloc.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/genalloc.c b/lib/genalloc.c index 0a1139644d32..144fe6b1a03e 100644 --- a/lib/genalloc.c +++ b/lib/genalloc.c @@ -292,7 +292,7 @@ unsigned long gen_pool_alloc_algo(struct gen_pool *pool, size_t size,  	struct gen_pool_chunk *chunk;  	unsigned long addr = 0;  	int order = pool->min_alloc_order; -	int nbits, start_bit = 0, end_bit, remain; +	int nbits, start_bit, end_bit, remain;  #ifndef CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG  	BUG_ON(in_nmi()); @@ -307,6 +307,7 @@ unsigned long gen_pool_alloc_algo(struct gen_pool *pool, size_t size,  		if (size > atomic_read(&chunk->avail))  			continue; +		start_bit = 0;  		end_bit = chunk_size(chunk) >> order;  retry:  		start_bit = algo(chunk->bits, end_bit, start_bit,  |