scsi: qla2xxx: flush IO on chip reset or sess delete

On Transmit respond in target mode, if the chip is already reset or the
session is already deleted, then advance the command to the free step.
There is no need to abort the command, because the chip has already flushed
it.

Signed-off-by: Quinn Tran <quinn.tran@cavium.com>
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Quinn Tran 2019-01-24 23:23:43 -08:00 коммит произвёл Martin K. Petersen
Родитель 80676d054e
Коммит 51fd6e6351
1 изменённых файлов: 3 добавлений и 6 удалений

Просмотреть файл

@ -3257,13 +3257,10 @@ int qlt_xmit_response(struct qla_tgt_cmd *cmd, int xmit_type,
unsigned long flags = 0; unsigned long flags = 0;
int res; int res;
if (cmd->sess && cmd->sess->deleted) { if (!qpair->fw_started || (cmd->reset_count != qpair->chip_reset) ||
(cmd->sess && cmd->sess->deleted)) {
cmd->state = QLA_TGT_STATE_PROCESSED; cmd->state = QLA_TGT_STATE_PROCESSED;
if (cmd->sess->logout_completed)
/* no need to terminate. FW already freed exchange. */
qlt_abort_cmd_on_host_reset(cmd->vha, cmd); qlt_abort_cmd_on_host_reset(cmd->vha, cmd);
else
qlt_send_term_exchange(qpair, cmd, &cmd->atio, 0, 0);
return 0; return 0;
} }