sh: convert /proc/cpu/aligmnent, /proc/cpu/kernel_alignment to seq_file
[safe/jmp/linux-2.6] / lib / genalloc.c
index eb7c2ba..eed2bdb 100644 (file)
@@ -54,11 +54,10 @@ int gen_pool_add(struct gen_pool *pool, unsigned long addr, size_t size,
        int nbytes = sizeof(struct gen_pool_chunk) +
                                (nbits + BITS_PER_BYTE - 1) / BITS_PER_BYTE;
 
-       chunk = kmalloc_node(nbytes, GFP_KERNEL, nid);
+       chunk = kmalloc_node(nbytes, GFP_KERNEL | __GFP_ZERO, nid);
        if (unlikely(chunk == NULL))
                return -1;
 
-       memset(chunk, 0, nbytes);
        spin_lock_init(&chunk->lock);
        chunk->start_addr = addr;
        chunk->end_addr = addr + size;
@@ -86,7 +85,6 @@ void gen_pool_destroy(struct gen_pool *pool)
        int bit, end_bit;
 
 
-       write_lock(&pool->lock);
        list_for_each_safe(_chunk, _next_chunk, &pool->chunks) {
                chunk = list_entry(_chunk, struct gen_pool_chunk, next_chunk);
                list_del(&chunk->next_chunk);