diff options
author | Jens Axboe | 2014-05-28 09:50:26 -0600 |
---|---|---|
committer | Jens Axboe | 2014-05-28 09:50:26 -0600 |
commit | 6178976500ae61fa7b12ebb2d3de816dc9396388 (patch) | |
tree | 143df1479f56458801b676d038e6a7157a472981 /drivers/block/skd_main.c | |
parent | 6314a108ec19aefa5160535b2bfe1ca9c38efe37 (diff) | |
parent | d852564f8c88b0604490234fdeeb6fb47e4bcc7a (diff) |
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.c | 4 |
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)) { |