Commit 3a70730a authored by James Smart's avatar James Smart Committed by James Bottomley

[SCSI] lpfc 8.3.32: Correct successful aborts returning error status

Signed-off-by: default avatarAlex Iannicelli <alex.iannicelli@emulex.com>
Signed-off-by: default avatarJames Smart <james.smart@emulex.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent 618a5230
...@@ -4412,12 +4412,12 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd) ...@@ -4412,12 +4412,12 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
struct lpfc_iocbq *abtsiocb; struct lpfc_iocbq *abtsiocb;
struct lpfc_scsi_buf *lpfc_cmd; struct lpfc_scsi_buf *lpfc_cmd;
IOCB_t *cmd, *icmd; IOCB_t *cmd, *icmd;
int ret = SUCCESS; int ret = SUCCESS, status = 0;
DECLARE_WAIT_QUEUE_HEAD_ONSTACK(waitq); DECLARE_WAIT_QUEUE_HEAD_ONSTACK(waitq);
ret = fc_block_scsi_eh(cmnd); status = fc_block_scsi_eh(cmnd);
if (ret) if (status)
return ret; return status;
spin_lock_irq(&phba->hbalock); spin_lock_irq(&phba->hbalock);
/* driver queued commands are in process of being flushed */ /* driver queued commands are in process of being flushed */
...@@ -4435,7 +4435,7 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd) ...@@ -4435,7 +4435,7 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
lpfc_printf_vlog(vport, KERN_WARNING, LOG_FCP, lpfc_printf_vlog(vport, KERN_WARNING, LOG_FCP,
"2873 SCSI Layer I/O Abort Request IO CMPL Status " "2873 SCSI Layer I/O Abort Request IO CMPL Status "
"x%x ID %d LUN %d\n", "x%x ID %d LUN %d\n",
ret, cmnd->device->id, cmnd->device->lun); SUCCESS, cmnd->device->id, cmnd->device->lun);
return SUCCESS; return SUCCESS;
} }
...@@ -4762,7 +4762,7 @@ lpfc_device_reset_handler(struct scsi_cmnd *cmnd) ...@@ -4762,7 +4762,7 @@ lpfc_device_reset_handler(struct scsi_cmnd *cmnd)
unsigned tgt_id = cmnd->device->id; unsigned tgt_id = cmnd->device->id;
unsigned int lun_id = cmnd->device->lun; unsigned int lun_id = cmnd->device->lun;
struct lpfc_scsi_event_header scsi_event; struct lpfc_scsi_event_header scsi_event;
int status; int status, ret = SUCCESS;
if (!rdata) { if (!rdata) {
lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP, lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP,
...@@ -4803,9 +4803,9 @@ lpfc_device_reset_handler(struct scsi_cmnd *cmnd) ...@@ -4803,9 +4803,9 @@ lpfc_device_reset_handler(struct scsi_cmnd *cmnd)
* So, continue on. * So, continue on.
* We will report success if all the i/o aborts successfully. * We will report success if all the i/o aborts successfully.
*/ */
status = lpfc_reset_flush_io_context(vport, tgt_id, lun_id, ret = lpfc_reset_flush_io_context(vport, tgt_id, lun_id,
LPFC_CTX_LUN); LPFC_CTX_LUN);
return status; return ret;
} }
/** /**
...@@ -4829,7 +4829,7 @@ lpfc_target_reset_handler(struct scsi_cmnd *cmnd) ...@@ -4829,7 +4829,7 @@ lpfc_target_reset_handler(struct scsi_cmnd *cmnd)
unsigned tgt_id = cmnd->device->id; unsigned tgt_id = cmnd->device->id;
unsigned int lun_id = cmnd->device->lun; unsigned int lun_id = cmnd->device->lun;
struct lpfc_scsi_event_header scsi_event; struct lpfc_scsi_event_header scsi_event;
int status; int status, ret = SUCCESS;
if (!rdata) { if (!rdata) {
lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP, lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP,
...@@ -4870,9 +4870,9 @@ lpfc_target_reset_handler(struct scsi_cmnd *cmnd) ...@@ -4870,9 +4870,9 @@ lpfc_target_reset_handler(struct scsi_cmnd *cmnd)
* So, continue on. * So, continue on.
* We will report success if all the i/o aborts successfully. * We will report success if all the i/o aborts successfully.
*/ */
status = lpfc_reset_flush_io_context(vport, tgt_id, lun_id, ret = lpfc_reset_flush_io_context(vport, tgt_id, lun_id,
LPFC_CTX_TGT); LPFC_CTX_TGT);
return status; return ret;
} }
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment