projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9f49d3b
)
[SCSI] lpfc 8.1.7: Fixed infinite retry of REG_LOGIN mailbox failed due to MBXERR_RPI...
author
James Smart
<James.Smart@Emulex.Com>
Thu, 6 Jul 2006 19:49:42 +0000
(15:49 -0400)
committer
James Bottomley
<jejb@mulgrave.il.steeleye.com>
Sun, 9 Jul 2006 15:20:30 +0000
(10:20 -0500)
Fixed infinite retry of REG_LOGIN mailbox failed due to MBXERR_RPI_FULL
Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/lpfc/lpfc_nportdisc.c
patch
|
blob
|
history
diff --git
a/drivers/scsi/lpfc/lpfc_nportdisc.c
b/drivers/scsi/lpfc/lpfc_nportdisc.c
index 27d60ad897cdc81de79fde9dd2fab98a568a3211..bd0b0e293d637be80e7888edaa9dd0212a4c9cad 100644
(file)
--- a/
drivers/scsi/lpfc/lpfc_nportdisc.c
+++ b/
drivers/scsi/lpfc/lpfc_nportdisc.c
@@
-1110,6
+1110,17
@@
lpfc_cmpl_reglogin_reglogin_issue(struct lpfc_hba * phba,
phba->brd_no,
did, mb->mbxStatus, phba->hba_state);
+ /*
+ * If RegLogin failed due to lack of HBA resources do not
+ * retry discovery.
+ */
+ if (mb->mbxStatus == MBXERR_RPI_FULL) {
+ ndlp->nlp_prev_state = NLP_STE_UNUSED_NODE;
+ ndlp->nlp_state = NLP_STE_UNUSED_NODE;
+ lpfc_nlp_list(phba, ndlp, NLP_UNUSED_LIST);
+ return ndlp->nlp_state;
+ }
+
/* Put ndlp in npr list set plogi timer for 1 sec */
mod_timer(&ndlp->nlp_delayfunc, jiffies + HZ * 1);
spin_lock_irq(phba->host->host_lock);