diff options
author | Christoph Hellwig <hch@lst.de> | 2014-10-19 17:13:58 +0200 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2014-10-28 09:53:43 +0100 |
commit | b1dd2aac4cc0892b82ec60232ed37e3b0af776cc (patch) | |
tree | 393321bf7de6c136282ae8550cb8173f86b6b5a9 /drivers | |
parent | Revert "block: all blk-mq requests are tagged" (diff) | |
download | linux-b1dd2aac4cc0892b82ec60232ed37e3b0af776cc.tar.xz linux-b1dd2aac4cc0892b82ec60232ed37e3b0af776cc.zip |
scsi: set REQ_QUEUE for the blk-mq case
To generate the right SPI tag messages we need to properly set
QUEUE_FLAG_QUEUED in the request_queue and mirror it to the
request.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Acked-by: Jens Axboe <axboe@kernel.dk>
Reported-by: Meelis Roos <mroos@linux.ee>
Tested-by: Meelis Roos <mroos@linux.ee>
Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/scsi_lib.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index 9eff8a375132..50a6e1ac8d9c 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -1893,6 +1893,11 @@ static int scsi_queue_rq(struct blk_mq_hw_ctx *hctx, struct request *req, blk_mq_start_request(req); } + if (blk_queue_tagged(q)) + req->cmd_flags |= REQ_QUEUED; + else + req->cmd_flags &= ~REQ_QUEUED; + scsi_init_cmd_errh(cmd); cmd->scsi_done = scsi_mq_done; |