diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_scsi.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c index 5dae4d306758..72eef7e4a891 100644 --- a/drivers/scsi/lpfc/lpfc_scsi.c +++ b/drivers/scsi/lpfc/lpfc_scsi.c | |||
@@ -1071,8 +1071,10 @@ lpfc_queuecommand(struct scsi_cmnd *cmnd, void (*done) (struct scsi_cmnd *)) | |||
1071 | * Catch race where our node has transitioned, but the | 1071 | * Catch race where our node has transitioned, but the |
1072 | * transport is still transitioning. | 1072 | * transport is still transitioning. |
1073 | */ | 1073 | */ |
1074 | if (!ndlp || !NLP_CHK_NODE_ACT(ndlp)) | 1074 | if (!ndlp || !NLP_CHK_NODE_ACT(ndlp)) { |
1075 | goto out_target_busy; | 1075 | cmnd->result = ScsiResult(DID_TRANSPORT_DISRUPTED, 0); |
1076 | goto out_fail_command; | ||
1077 | } | ||
1076 | 1078 | ||
1077 | lpfc_cmd = lpfc_get_scsi_buf(phba); | 1079 | lpfc_cmd = lpfc_get_scsi_buf(phba); |
1078 | if (lpfc_cmd == NULL) { | 1080 | if (lpfc_cmd == NULL) { |
@@ -1118,8 +1120,6 @@ lpfc_queuecommand(struct scsi_cmnd *cmnd, void (*done) (struct scsi_cmnd *)) | |||
1118 | lpfc_release_scsi_buf(phba, lpfc_cmd); | 1120 | lpfc_release_scsi_buf(phba, lpfc_cmd); |
1119 | out_host_busy: | 1121 | out_host_busy: |
1120 | return SCSI_MLQUEUE_HOST_BUSY; | 1122 | return SCSI_MLQUEUE_HOST_BUSY; |
1121 | out_target_busy: | ||
1122 | return SCSI_MLQUEUE_TARGET_BUSY; | ||
1123 | 1123 | ||
1124 | out_fail_command: | 1124 | out_fail_command: |
1125 | done(cmnd); | 1125 | done(cmnd); |