diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c
index 5873861e1dbbfa6eb5b808a77f0d4c2771ed0c33..d99d402953a3c118fa0275e89eb4a417a2d1de33 100644
--- a/block/ll_rw_blk.c
+++ b/block/ll_rw_blk.c
@@ -2558,6 +2558,7 @@ int blk_rq_map_kern(request_queue_t *q, struct request *rq, void *kbuf,
 		bio->bi_rw |= (1 << BIO_RW);
 
 	blk_rq_bio_prep(q, rq, bio);
+	blk_queue_bounce(q, &rq->bio);
 	rq->buffer = rq->data = NULL;
 	return 0;
 }