block: clear BIO_PERCPU_CACHE flag if polling isn't supported
[linux-2.6-microblaze.git] / block / blk-core.c
index 4f8449b..0d4d6b1 100644 (file)
@@ -832,8 +832,11 @@ static noinline_for_stack bool submit_bio_checks(struct bio *bio)
                }
        }
 
-       if (!test_bit(QUEUE_FLAG_POLL, &q->queue_flags))
+       if (!test_bit(QUEUE_FLAG_POLL, &q->queue_flags)) {
+               /* can't support alloc cache if we turn off polling */
+               bio_clear_flag(bio, BIO_PERCPU_CACHE);
                bio->bi_opf &= ~REQ_HIPRI;
+       }
 
        switch (bio_op(bio)) {
        case REQ_OP_DISCARD: