diff options
author | James Smart <James.Smart@Emulex.Com> | 2008-08-24 21:50:00 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-10-13 09:28:53 -0400 |
commit | d7c255b26d8e3f12164d82093de3bf22efad2b4a (patch) | |
tree | 0b3467eda322ec2d90e5a7369891ab4ba12ff0a1 /drivers/scsi/lpfc/lpfc_nportdisc.c | |
parent | 34b02dcdcf1865405f4762b991965c0c3b8a3ae0 (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.c | 9 |
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 | |||
1853 | lpfc_cmpl_logo_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, | 1853 | lpfc_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", |