diff --git a/[refs] b/[refs] index c4a95dd1046d..8fe97d3dd8b7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 64f84bc1cf49aa5e0c4b945b434e5d4b74e0831d +refs/heads/master: b522d7d42d7ce843885d4c6740c5bd50876a2971 diff --git a/trunk/drivers/scsi/lpfc/lpfc_scsi.c b/trunk/drivers/scsi/lpfc/lpfc_scsi.c index 5dae4d306758..72eef7e4a891 100644 --- a/trunk/drivers/scsi/lpfc/lpfc_scsi.c +++ b/trunk/drivers/scsi/lpfc/lpfc_scsi.c @@ -1071,8 +1071,10 @@ lpfc_queuecommand(struct scsi_cmnd *cmnd, void (*done) (struct scsi_cmnd *)) * Catch race where our node has transitioned, but the * transport is still transitioning. */ - if (!ndlp || !NLP_CHK_NODE_ACT(ndlp)) - goto out_target_busy; + if (!ndlp || !NLP_CHK_NODE_ACT(ndlp)) { + cmnd->result = ScsiResult(DID_TRANSPORT_DISRUPTED, 0); + goto out_fail_command; + } lpfc_cmd = lpfc_get_scsi_buf(phba); if (lpfc_cmd == NULL) { @@ -1118,8 +1120,6 @@ lpfc_queuecommand(struct scsi_cmnd *cmnd, void (*done) (struct scsi_cmnd *)) lpfc_release_scsi_buf(phba, lpfc_cmd); out_host_busy: return SCSI_MLQUEUE_HOST_BUSY; - out_target_busy: - return SCSI_MLQUEUE_TARGET_BUSY; out_fail_command: done(cmnd);