X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=mm%2Fmempool.c;h=79bff63ecf274881d9afe840fd858bed12a37d4c;hb=978620cc4f5577c5139da9d8377849aeac46687a;hp=85efab3da7204491fdcb3118bc2a4e0dedfa7d05;hpb=d0473f978e61557464daa8547008fa2cd0c63a17;p=linux-2.6-microblaze.git diff --git a/mm/mempool.c b/mm/mempool.c index 85efab3da720..79bff63ecf27 100644 --- a/mm/mempool.c +++ b/mm/mempool.c @@ -489,7 +489,7 @@ void mempool_free(void *element, mempool_t *pool) * ensures that there will be frees which return elements to the * pool waking up the waiters. */ - if (unlikely(pool->curr_nr < pool->min_nr)) { + if (unlikely(READ_ONCE(pool->curr_nr) < pool->min_nr)) { spin_lock_irqsave(&pool->lock, flags); if (likely(pool->curr_nr < pool->min_nr)) { add_element(pool, element);