diff options
author | Scott Wood <scottwood@freescale.com> | 2014-04-07 23:49:35 (GMT) |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2014-04-07 23:49:35 (GMT) |
commit | 62b8c978ee6b8d135d9e7953221de58000dba986 (patch) | |
tree | 683b04b2e627f6710c22c151b23c8cc9a165315e /block/blk-exec.c | |
parent | 78fd82238d0e5716578c326404184a27ba67fd6e (diff) | |
download | linux-fsl-qoriq-62b8c978ee6b8d135d9e7953221de58000dba986.tar.xz |
Rewind v3.13-rc3+ (78fd82238d0e5716) to v3.12
Diffstat (limited to 'block/blk-exec.c')
-rw-r--r-- | block/blk-exec.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/block/blk-exec.c b/block/blk-exec.c index c3edf9d..ae4f27d 100644 --- a/block/blk-exec.c +++ b/block/blk-exec.c @@ -5,7 +5,6 @@ #include <linux/module.h> #include <linux/bio.h> #include <linux/blkdev.h> -#include <linux/blk-mq.h> #include <linux/sched/sysctl.h> #include "blk.h" @@ -25,6 +24,7 @@ static void blk_end_sync_rq(struct request *rq, int error) struct completion *waiting = rq->end_io_data; rq->end_io_data = NULL; + __blk_put_request(rq->q, rq); /* * complete last, if this is a stack request the process (and thus @@ -59,12 +59,6 @@ void blk_execute_rq_nowait(struct request_queue *q, struct gendisk *bd_disk, rq->rq_disk = bd_disk; rq->end_io = done; - - if (q->mq_ops) { - blk_mq_insert_request(q, rq, true); - return; - } - /* * need to check this before __blk_run_queue(), because rq can * be freed before that returns. @@ -109,6 +103,12 @@ int blk_execute_rq(struct request_queue *q, struct gendisk *bd_disk, int err = 0; unsigned long hang_check; + /* + * we need an extra reference to the request, so we can look at + * it after io completion + */ + rq->ref_count++; + if (!rq->sense) { memset(sense, 0, sizeof(sense)); rq->sense = sense; |