mirror of https://gitee.com/openkylin/linux.git
[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>
This commit is contained in:
parent
618a5230b8
commit
3a70730aa0
|
@ -4412,12 +4412,12 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
|
|||
struct lpfc_iocbq *abtsiocb;
|
||||
struct lpfc_scsi_buf *lpfc_cmd;
|
||||
IOCB_t *cmd, *icmd;
|
||||
int ret = SUCCESS;
|
||||
int ret = SUCCESS, status = 0;
|
||||
DECLARE_WAIT_QUEUE_HEAD_ONSTACK(waitq);
|
||||
|
||||
ret = fc_block_scsi_eh(cmnd);
|
||||
if (ret)
|
||||
return ret;
|
||||
status = fc_block_scsi_eh(cmnd);
|
||||
if (status)
|
||||
return status;
|
||||
|
||||
spin_lock_irq(&phba->hbalock);
|
||||
/* driver queued commands are in process of being flushed */
|
||||
|
@ -4435,7 +4435,7 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
|
|||
lpfc_printf_vlog(vport, KERN_WARNING, LOG_FCP,
|
||||
"2873 SCSI Layer I/O Abort Request IO CMPL Status "
|
||||
"x%x ID %d LUN %d\n",
|
||||
ret, cmnd->device->id, cmnd->device->lun);
|
||||
SUCCESS, cmnd->device->id, cmnd->device->lun);
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -4762,7 +4762,7 @@ lpfc_device_reset_handler(struct scsi_cmnd *cmnd)
|
|||
unsigned tgt_id = cmnd->device->id;
|
||||
unsigned int lun_id = cmnd->device->lun;
|
||||
struct lpfc_scsi_event_header scsi_event;
|
||||
int status;
|
||||
int status, ret = SUCCESS;
|
||||
|
||||
if (!rdata) {
|
||||
lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP,
|
||||
|
@ -4803,9 +4803,9 @@ lpfc_device_reset_handler(struct scsi_cmnd *cmnd)
|
|||
* So, continue on.
|
||||
* 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);
|
||||
return status;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -4829,7 +4829,7 @@ lpfc_target_reset_handler(struct scsi_cmnd *cmnd)
|
|||
unsigned tgt_id = cmnd->device->id;
|
||||
unsigned int lun_id = cmnd->device->lun;
|
||||
struct lpfc_scsi_event_header scsi_event;
|
||||
int status;
|
||||
int status, ret = SUCCESS;
|
||||
|
||||
if (!rdata) {
|
||||
lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP,
|
||||
|
@ -4870,9 +4870,9 @@ lpfc_target_reset_handler(struct scsi_cmnd *cmnd)
|
|||
* So, continue on.
|
||||
* 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);
|
||||
return status;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue