diff options
author | Ingo Molnar <mingo@kernel.org> | 2018-03-19 20:37:35 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2018-03-19 20:37:35 +0100 |
commit | 134933e55789ece9bca973d3502c7b8f7a9dae86 (patch) | |
tree | b1694310855e43acb5fceb8b2d55ec8cd713ccad /drivers/scsi/scsi_lib.c | |
parent | 24868367cdcac447232ebcb2aa06e1bf91291586 (diff) | |
parent | c698ca5278934c0ae32297a8725ced2e27585d7f (diff) | |
download | linux-134933e55789ece9bca973d3502c7b8f7a9dae86.tar.gz linux-134933e55789ece9bca973d3502c7b8f7a9dae86.tar.bz2 linux-134933e55789ece9bca973d3502c7b8f7a9dae86.zip |
Merge tag 'v4.16-rc6' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/scsi/scsi_lib.c')
-rw-r--r-- | drivers/scsi/scsi_lib.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index a86df9ca7d1c..c84f931388f2 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -671,6 +671,7 @@ static bool scsi_end_request(struct request *req, blk_status_t error, if (!blk_rq_is_scsi(req)) { WARN_ON_ONCE(!(cmd->flags & SCMD_INITIALIZED)); cmd->flags &= ~SCMD_INITIALIZED; + destroy_rcu_head(&cmd->rcu); } if (req->mq_ctx) { @@ -720,6 +721,8 @@ static blk_status_t __scsi_error_from_host_byte(struct scsi_cmnd *cmd, int result) { switch (host_byte(result)) { + case DID_OK: + return BLK_STS_OK; case DID_TRANSPORT_FAILFAST: return BLK_STS_TRANSPORT; case DID_TARGET_FAILURE: @@ -1151,6 +1154,7 @@ static void scsi_initialize_rq(struct request *rq) struct scsi_cmnd *cmd = blk_mq_rq_to_pdu(rq); scsi_req_init(&cmd->req); + init_rcu_head(&cmd->rcu); cmd->jiffies_at_alloc = jiffies; cmd->retries = 0; } |