aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_nportdisc.c
diff options
context:
space:
mode:
authorJames Smart <James.Smart@Emulex.Com>2008-08-24 21:50:00 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-10-13 09:28:53 -0400
commitd7c255b26d8e3f12164d82093de3bf22efad2b4a (patch)
tree0b3467eda322ec2d90e5a7369891ab4ba12ff0a1 /drivers/scsi/lpfc/lpfc_nportdisc.c
parent34b02dcdcf1865405f4762b991965c0c3b8a3ae0 (diff)
[SCSI] lpfc 8.2.8 : Miscellaneous Bug Fixes
Miscellaneous Fixes: - Fix the wrong variable name used for checking node active usage status - Fix numerous duplicate log message numbers - Fix change KERN_WARNING messages to KERN_INFO. - Stop sending erroneous LOGO to fabric after vport is already terminated - Fix HBQ allocates that were kalloc'ing w/ GFP_KERNEL while holding a lock. - Fix gcc 4.3.2 compiler warnings and a sparse warning - Fix bugs in handling unsolicited ct event queue - Reorder some of the initial link up checks, to remove odd VPI states. - Correct poor VPI handling - Add debug messages - Expand Update_CFG mailbox definition - Fix handling of VPD data offsets - Reorder loopback flags - convert to use offsetof() Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_nportdisc.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_nportdisc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/scsi/lpfc/lpfc_nportdisc.c b/drivers/scsi/lpfc/lpfc_nportdisc.c
index 705c4ae1bdc3..83ffa75378e5 100644
--- a/drivers/scsi/lpfc/lpfc_nportdisc.c
+++ b/drivers/scsi/lpfc/lpfc_nportdisc.c
@@ -1853,8 +1853,13 @@ static uint32_t
1853lpfc_cmpl_logo_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, 1853lpfc_cmpl_logo_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
1854 void *arg, uint32_t evt) 1854 void *arg, uint32_t evt)
1855{ 1855{
1856 struct Scsi_Host *shost = lpfc_shost_from_vport(vport);
1857 if (ndlp->nlp_DID == Fabric_DID) {
1858 spin_lock_irq(shost->host_lock);
1859 vport->fc_flag &= ~(FC_FABRIC | FC_PUBLIC_LOOP);
1860 spin_unlock_irq(shost->host_lock);
1861 }
1856 lpfc_unreg_rpi(vport, ndlp); 1862 lpfc_unreg_rpi(vport, ndlp);
1857 /* This routine does nothing, just return the current state */
1858 return ndlp->nlp_state; 1863 return ndlp->nlp_state;
1859} 1864}
1860 1865
@@ -2143,7 +2148,7 @@ lpfc_disc_state_machine(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
2143 lpfc_nlp_put(ndlp); 2148 lpfc_nlp_put(ndlp);
2144 } else { 2149 } else {
2145 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, 2150 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
2146 "0212 DSM out state %d on NPort free\n", rc); 2151 "0213 DSM out state %d on NPort free\n", rc);
2147 2152
2148 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_DSM, 2153 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_DSM,
2149 "DSM out: ste:%d did:x%x flg:x%x", 2154 "DSM out: ste:%d did:x%x flg:x%x",