diff options
author | Matthew R. Ochs <mrochs@linux.vnet.ibm.com> | 2016-11-28 18:43:18 -0600 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2016-11-30 19:53:02 -0500 |
commit | fe7f96982a4e7103ffab45fba34c57ee19b62639 (patch) | |
tree | 38fb17ac8d61ab2360fab016e13a60c36e286fcb /drivers/scsi/cxlflash/main.c | |
parent | 48b4be36edf8a2cb0dedcb2d28f598e51249e805 (diff) | |
download | blackbird-op-linux-fe7f96982a4e7103ffab45fba34c57ee19b62639.tar.gz blackbird-op-linux-fe7f96982a4e7103ffab45fba34c57ee19b62639.zip |
scsi: cxlflash: Migrate scsi command pointer to AFU command
Currently, when sending a SCSI command, the pointer is stored in a
reserved field of the AFU command descriptor for retrieval once the
SCSI command has completed. In order to support new descriptor formats
that make use of the reserved field, the pointer is migrated to outside
the descriptor where it can still be found during completion processing.
Signed-off-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
Acked-by: Uma Krishnan <ukrishn@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/cxlflash/main.c')
-rw-r--r-- | drivers/scsi/cxlflash/main.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/scsi/cxlflash/main.c b/drivers/scsi/cxlflash/main.c index d2d2d836c079..b17ebf6d0a7e 100644 --- a/drivers/scsi/cxlflash/main.c +++ b/drivers/scsi/cxlflash/main.c @@ -151,7 +151,7 @@ static void process_cmd_err(struct afu_cmd *cmd, struct scsi_cmnd *scp) * * Prepares and submits command that has either completed or timed out to * the SCSI stack. Checks AFU command back into command pool for non-internal - * (rcb.scp populated) commands. + * (cmd->scp populated) commands. */ static void cmd_complete(struct afu_cmd *cmd) { @@ -161,8 +161,8 @@ static void cmd_complete(struct afu_cmd *cmd) struct cxlflash_cfg *cfg = afu->parent; bool cmd_is_tmf; - if (cmd->rcb.scp) { - scp = cmd->rcb.scp; + if (cmd->scp) { + scp = cmd->scp; if (unlikely(cmd->sa.ioasc)) process_cmd_err(cmd, scp); else @@ -315,7 +315,7 @@ static int send_tmf(struct afu *afu, struct scsi_cmnd *scp, u64 tmfcmd) cfg->tmf_active = true; spin_unlock_irqrestore(&cfg->tmf_slock, lock_flags); - cmd->rcb.scp = scp; + cmd->scp = scp; cmd->parent = afu; cmd->cmd_tmf = true; @@ -445,7 +445,7 @@ static int cxlflash_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scp) cmd->rcb.data_ea = sg_dma_address(sg); } - cmd->rcb.scp = scp; + cmd->scp = scp; cmd->parent = afu; cmd->rcb.ctx_id = afu->ctx_hndl; |