summaryrefslogtreecommitdiffstats
path: root/drivers/block/skd_main.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@fb.com>2014-05-28 17:50:26 +0200
committerJens Axboe <axboe@fb.com>2014-05-28 17:50:26 +0200
commit6178976500ae61fa7b12ebb2d3de816dc9396388 (patch)
tree143df1479f56458801b676d038e6a7157a472981 /drivers/block/skd_main.c
parentfloppy: do not corrupt bio.bi_flags when reading block 0 (diff)
parentblk-mq: remove blk_mq_alloc_request_pinned (diff)
downloadlinux-6178976500ae61fa7b12ebb2d3de816dc9396388.tar.xz
linux-6178976500ae61fa7b12ebb2d3de816dc9396388.zip
Merge branch 'for-3.16/core' into for-3.16/drivers
mtip32xx uses blk_mq_alloc_reserved_request(), so pull in the core changes so we have a properly merged end result. Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers/block/skd_main.c')
-rw-r--r--drivers/block/skd_main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/block/skd_main.c b/drivers/block/skd_main.c
index 1dcf9067cffa..608532d3f8c9 100644
--- a/drivers/block/skd_main.c
+++ b/drivers/block/skd_main.c
@@ -743,6 +743,7 @@ static void skd_request_fn(struct request_queue *q)
break;
}
skreq->discard_page = 1;
+ req->completion_data = page;
skd_prep_discard_cdb(scsi_req, skreq, page, lba, count);
} else if (flush == SKD_FLUSH_ZERO_SIZE_FIRST) {
@@ -855,10 +856,9 @@ static void skd_end_request(struct skd_device *skdev,
if ((io_flags & REQ_DISCARD) &&
(skreq->discard_page == 1)) {
- struct bio *bio = req->bio;
pr_debug("%s:%s:%d, free the page!",
skdev->name, __func__, __LINE__);
- __free_page(bio->bi_io_vec->bv_page);
+ __free_page(req->completion_data);
}
if (unlikely(error)) {