[SCSI] lpfc 8.3.35: Fixed PRLI not being retried if a LS_RJT with a reason

Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
James Smart 2012-09-29 11:31:11 -04:00 committed by James Bottomley
parent ce3962829d
commit 4c1b64bad4

View File

@ -3160,7 +3160,8 @@ lpfc_els_retry(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
retry = 1; retry = 1;
break; break;
} }
if (cmd == ELS_CMD_PLOGI) { if ((cmd == ELS_CMD_PLOGI) ||
(cmd == ELS_CMD_PRLI)) {
delay = 1000; delay = 1000;
maxretry = lpfc_max_els_tries + 1; maxretry = lpfc_max_els_tries + 1;
retry = 1; retry = 1;
@ -3305,7 +3306,7 @@ lpfc_els_retry(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
ndlp->nlp_prev_state = ndlp->nlp_state; ndlp->nlp_prev_state = ndlp->nlp_state;
if (cmd == ELS_CMD_PRLI) if (cmd == ELS_CMD_PRLI)
lpfc_nlp_set_state(vport, ndlp, lpfc_nlp_set_state(vport, ndlp,
NLP_STE_REG_LOGIN_ISSUE); NLP_STE_PRLI_ISSUE);
else else
lpfc_nlp_set_state(vport, ndlp, lpfc_nlp_set_state(vport, ndlp,
NLP_STE_NPR_NODE); NLP_STE_NPR_NODE);