aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc
diff options
context:
space:
mode:
authorJames Smart <james.smart@emulex.com>2012-06-12 13:54:42 -0400
committerJames Bottomley <JBottomley@Parallels.com>2012-07-20 03:58:28 -0400
commit3a70730aa06c37d46086ecdbca7107531fe2d2c5 (patch)
tree0be7b073ff88434d0246da208fa85bb242e552f1 /drivers/scsi/lpfc
parent618a5230b8fa62bc7901b8b754b4379b3fcfa0f9 (diff)
[SCSI] lpfc 8.3.32: Correct successful aborts returning error status
Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/lpfc')
-rw-r--r--drivers/scsi/lpfc/lpfc_scsi.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c
index d2ef8f4e9254..169b77b82b48 100644
--- a/drivers/scsi/lpfc/lpfc_scsi.c
+++ b/drivers/scsi/lpfc/lpfc_scsi.c
@@ -4412,12 +4412,12 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
4412 struct lpfc_iocbq *abtsiocb; 4412 struct lpfc_iocbq *abtsiocb;
4413 struct lpfc_scsi_buf *lpfc_cmd; 4413 struct lpfc_scsi_buf *lpfc_cmd;
4414 IOCB_t *cmd, *icmd; 4414 IOCB_t *cmd, *icmd;
4415 int ret = SUCCESS; 4415 int ret = SUCCESS, status = 0;
4416 DECLARE_WAIT_QUEUE_HEAD_ONSTACK(waitq); 4416 DECLARE_WAIT_QUEUE_HEAD_ONSTACK(waitq);
4417 4417
4418 ret = fc_block_scsi_eh(cmnd); 4418 status = fc_block_scsi_eh(cmnd);
4419 if (ret) 4419 if (status)
4420 return ret; 4420 return status;
4421 4421
4422 spin_lock_irq(&phba->hbalock); 4422 spin_lock_irq(&phba->hbalock);
4423 /* driver queued commands are in process of being flushed */ 4423 /* driver queued commands are in process of being flushed */
@@ -4435,7 +4435,7 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
4435 lpfc_printf_vlog(vport, KERN_WARNING, LOG_FCP, 4435 lpfc_printf_vlog(vport, KERN_WARNING, LOG_FCP,
4436 "2873 SCSI Layer I/O Abort Request IO CMPL Status " 4436 "2873 SCSI Layer I/O Abort Request IO CMPL Status "
4437 "x%x ID %d LUN %d\n", 4437 "x%x ID %d LUN %d\n",
4438 ret, cmnd->device->id, cmnd->device->lun); 4438 SUCCESS, cmnd->device->id, cmnd->device->lun);
4439 return SUCCESS; 4439 return SUCCESS;
4440 } 4440 }
4441 4441
@@ -4762,7 +4762,7 @@ lpfc_device_reset_handler(struct scsi_cmnd *cmnd)
4762 unsigned tgt_id = cmnd->device->id; 4762 unsigned tgt_id = cmnd->device->id;
4763 unsigned int lun_id = cmnd->device->lun; 4763 unsigned int lun_id = cmnd->device->lun;
4764 struct lpfc_scsi_event_header scsi_event; 4764 struct lpfc_scsi_event_header scsi_event;
4765 int status; 4765 int status, ret = SUCCESS;
4766 4766
4767 if (!rdata) { 4767 if (!rdata) {
4768 lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP, 4768 lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP,
@@ -4803,9 +4803,9 @@ lpfc_device_reset_handler(struct scsi_cmnd *cmnd)
4803 * So, continue on. 4803 * So, continue on.
4804 * We will report success if all the i/o aborts successfully. 4804 * We will report success if all the i/o aborts successfully.
4805 */ 4805 */
4806 status = lpfc_reset_flush_io_context(vport, tgt_id, lun_id, 4806 ret = lpfc_reset_flush_io_context(vport, tgt_id, lun_id,
4807 LPFC_CTX_LUN); 4807 LPFC_CTX_LUN);
4808 return status; 4808 return ret;
4809} 4809}
4810 4810
4811/** 4811/**
@@ -4829,7 +4829,7 @@ lpfc_target_reset_handler(struct scsi_cmnd *cmnd)
4829 unsigned tgt_id = cmnd->device->id; 4829 unsigned tgt_id = cmnd->device->id;
4830 unsigned int lun_id = cmnd->device->lun; 4830 unsigned int lun_id = cmnd->device->lun;
4831 struct lpfc_scsi_event_header scsi_event; 4831 struct lpfc_scsi_event_header scsi_event;
4832 int status; 4832 int status, ret = SUCCESS;
4833 4833
4834 if (!rdata) { 4834 if (!rdata) {
4835 lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP, 4835 lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP,
@@ -4870,9 +4870,9 @@ lpfc_target_reset_handler(struct scsi_cmnd *cmnd)
4870 * So, continue on. 4870 * So, continue on.
4871 * We will report success if all the i/o aborts successfully. 4871 * We will report success if all the i/o aborts successfully.
4872 */ 4872 */
4873 status = lpfc_reset_flush_io_context(vport, tgt_id, lun_id, 4873 ret = lpfc_reset_flush_io_context(vport, tgt_id, lun_id,
4874 LPFC_CTX_TGT); 4874 LPFC_CTX_TGT);
4875 return status; 4875 return ret;
4876} 4876}
4877 4877
4878/** 4878/**