lpfc: Correct reporting of vport state on fdisc command failure.
authorJames Smart <james.smart@avagotech.com>
Thu, 21 May 2015 17:55:22 +0000 (13:55 -0400)
committerJames Bottomley <JBottomley@Odin.com>
Sat, 6 Jun 2015 05:36:34 +0000 (22:36 -0700)
Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
Signed-off-by: James Smart <james.smart@avagotech.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
drivers/scsi/lpfc/lpfc_els.c

index 724b61c7ae9ef461c383c2b505bc58ccc570b9c6..b490ef54d157b8a28c34a1f36f58c850baf2aa48 100644 (file)
@@ -8237,7 +8237,8 @@ lpfc_cmpl_els_fdisc(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
                lpfc_do_scr_ns_plogi(phba, vport);
        goto out;
 fdisc_failed:
-       lpfc_vport_set_state(vport, FC_VPORT_FAILED);
+       if (vport->fc_vport->vport_state != FC_VPORT_NO_FABRIC_RSCS)
+               lpfc_vport_set_state(vport, FC_VPORT_FAILED);
        /* Cancel discovery timer */
        lpfc_can_disctmo(vport);
        lpfc_nlp_put(ndlp);