From 87bb163e77ca98f5acf1770139892394e4b70df0 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Thu, 18 Apr 2019 01:48:50 +0000 Subject: [PATCH] qla2x00t-32gbit, target: Fix handling of aborted commands Ignore the return value of qlt_abort_cmd(). git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8252 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c | 36 ++----------------- 1 file changed, 3 insertions(+), 33 deletions(-) diff --git a/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c b/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c index 566b6bfb2..73cfac93e 100644 --- a/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c +++ b/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c @@ -1516,37 +1516,6 @@ static int sqa_target_release(struct scst_tgt *scst_tgt) #define DATA_WORK_NOT_FREE(_cmd) (_cmd->data_work && !_cmd->data_work_free) -static void -sqa_abort_task(struct scst_cmd *scst_cmd) -{ - unsigned long flags; - struct qla_tgt_cmd *cmd; - - TRACE_ENTRY(); - cmd = scst_cmd_get_tgt_priv(scst_cmd); - - scst_set_delivery_status(scst_cmd, SCST_CMD_DELIVERY_ABORTED); - - if (qlt_abort_cmd(cmd)) - return; - - spin_lock_irqsave(&cmd->cmd_lock, flags); - if ((cmd->state == QLA_TGT_STATE_NEW)|| - ((cmd->state == QLA_TGT_STATE_DATA_IN) && - DATA_WORK_NOT_FREE(cmd)) ) { - - cmd->data_work_free = 1; - spin_unlock_irqrestore(&cmd->cmd_lock, flags); - /* Cmd have not reached firmware. - * Use this trigger to free it. */ - scst_tgt_cmd_done(scst_cmd, SCST_CONTEXT_TASKLET); - return; - } - spin_unlock_irqrestore(&cmd->cmd_lock, flags); - return; - -} - static int sqa_xmit_response(struct scst_cmd *scst_cmd) { int xmit_type = QLA_TGT_XMIT_DATA, res, residual=0; @@ -1560,8 +1529,9 @@ static int sqa_xmit_response(struct scst_cmd *scst_cmd) TRACE_MGMT_DBG("sqatgt(%ld/%d): CMD_ABORTED cmd[%p]", cmd->vha->host_no, cmd->vha->vp_idx, cmd); - - sqa_abort_task(scst_cmd); + qlt_abort_cmd(cmd); + scst_set_delivery_status(scst_cmd, SCST_CMD_DELIVERY_ABORTED); + scst_tgt_cmd_done(scst_cmd, SCST_CONTEXT_DIRECT); return SCST_TGT_RES_SUCCESS; }