diff options
author | James Smart <james.smart@emulex.com> | 2012-09-29 11:31:11 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-10-08 07:03:43 -0400 |
commit | 4c1b64bad4755e66c649c89653dadb0206c7b30a (patch) | |
tree | 2a8e24c7bb31cc12e96110b5a383c48072c0e9d4 /drivers/scsi/lpfc/lpfc_els.c | |
parent | ce3962829d750fd64ff1317e8b82134f1f152eeb (diff) |
[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>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_els.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_els.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c index cfe533bc9790..c23f6415f76d 100644 --- a/drivers/scsi/lpfc/lpfc_els.c +++ b/drivers/scsi/lpfc/lpfc_els.c | |||
@@ -3160,7 +3160,8 @@ lpfc_els_retry(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb, | |||
3160 | retry = 1; | 3160 | retry = 1; |
3161 | break; | 3161 | break; |
3162 | } | 3162 | } |
3163 | if (cmd == ELS_CMD_PLOGI) { | 3163 | if ((cmd == ELS_CMD_PLOGI) || |
3164 | (cmd == ELS_CMD_PRLI)) { | ||
3164 | delay = 1000; | 3165 | delay = 1000; |
3165 | maxretry = lpfc_max_els_tries + 1; | 3166 | maxretry = lpfc_max_els_tries + 1; |
3166 | retry = 1; | 3167 | retry = 1; |
@@ -3305,7 +3306,7 @@ lpfc_els_retry(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb, | |||
3305 | ndlp->nlp_prev_state = ndlp->nlp_state; | 3306 | ndlp->nlp_prev_state = ndlp->nlp_state; |
3306 | if (cmd == ELS_CMD_PRLI) | 3307 | if (cmd == ELS_CMD_PRLI) |
3307 | lpfc_nlp_set_state(vport, ndlp, | 3308 | lpfc_nlp_set_state(vport, ndlp, |
3308 | NLP_STE_REG_LOGIN_ISSUE); | 3309 | NLP_STE_PRLI_ISSUE); |
3309 | else | 3310 | else |
3310 | lpfc_nlp_set_state(vport, ndlp, | 3311 | lpfc_nlp_set_state(vport, ndlp, |
3311 | NLP_STE_NPR_NODE); | 3312 | NLP_STE_NPR_NODE); |