[SCSI] lpfc 8.3.24: Miscellaneous Fixes and Corrections
[deliverable/linux.git] / drivers / scsi / lpfc / lpfc_nportdisc.c
index 0d92d4205ea617908efad357da8ddf3aeb5229ae..9bf7eb85d172fdfcadf39bbb87fe85df4c5ddd0c 100644 (file)
@@ -350,11 +350,7 @@ lpfc_rcv_plogi(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
        ndlp->nlp_maxframe =
                ((sp->cmn.bbRcvSizeMsb & 0x0F) << 8) | sp->cmn.bbRcvSizeLsb;
 
-       /*
-        * Need to unreg_login if we are already in one of these states and
-        * change to NPR state. This will block the port until after the ACC
-        * completes and the reg_login is issued and completed.
-        */
+       /* no need to reg_login if we are already in one of these states */
        switch (ndlp->nlp_state) {
        case  NLP_STE_NPR_NODE:
                if (!(ndlp->nlp_flag & NLP_NPR_ADISC))
@@ -363,9 +359,8 @@ lpfc_rcv_plogi(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
        case  NLP_STE_PRLI_ISSUE:
        case  NLP_STE_UNMAPPED_NODE:
        case  NLP_STE_MAPPED_NODE:
-               lpfc_unreg_rpi(vport, ndlp);
-               ndlp->nlp_prev_state = ndlp->nlp_state;
-               lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE);
+               lpfc_els_rsp_acc(vport, ELS_CMD_PLOGI, cmdiocb, ndlp, NULL);
+               return 1;
        }
 
        if ((vport->fc_flag & FC_PT2PT) &&
This page took 0.037556 seconds and 5 git commands to generate.