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
This commit is contained in:
Christoph Hellwig
2014-10-19 17:13:58 +02:00
parent e999dbc254
commit b1dd2aac4c
2 changed files with 9 additions and 4 deletions

View File

@@ -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;