diff options
Diffstat (limited to 'drivers/block/brd.c')
-rw-r--r-- | drivers/block/brd.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/block/brd.c b/drivers/block/brd.c index bdd4f5f45575..5f7e64ba87e5 100644 --- a/drivers/block/brd.c +++ b/drivers/block/brd.c | |||
@@ -275,8 +275,10 @@ static int brd_do_bvec(struct brd_device *brd, struct page *page, | |||
275 | if (rw == READ) { | 275 | if (rw == READ) { |
276 | copy_from_brd(mem + off, brd, sector, len); | 276 | copy_from_brd(mem + off, brd, sector, len); |
277 | flush_dcache_page(page); | 277 | flush_dcache_page(page); |
278 | } else | 278 | } else { |
279 | flush_dcache_page(page); | ||
279 | copy_to_brd(brd, mem + off, sector, len); | 280 | copy_to_brd(brd, mem + off, sector, len); |
281 | } | ||
280 | kunmap_atomic(mem, KM_USER0); | 282 | kunmap_atomic(mem, KM_USER0); |
281 | 283 | ||
282 | out: | 284 | out: |
@@ -436,6 +438,7 @@ static struct brd_device *brd_alloc(int i) | |||
436 | if (!brd->brd_queue) | 438 | if (!brd->brd_queue) |
437 | goto out_free_dev; | 439 | goto out_free_dev; |
438 | blk_queue_make_request(brd->brd_queue, brd_make_request); | 440 | blk_queue_make_request(brd->brd_queue, brd_make_request); |
441 | blk_queue_ordered(brd->brd_queue, QUEUE_ORDERED_TAG, NULL); | ||
439 | blk_queue_max_sectors(brd->brd_queue, 1024); | 442 | blk_queue_max_sectors(brd->brd_queue, 1024); |
440 | blk_queue_bounce_limit(brd->brd_queue, BLK_BOUNCE_ANY); | 443 | blk_queue_bounce_limit(brd->brd_queue, BLK_BOUNCE_ANY); |
441 | 444 | ||