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_hbadisc.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_hbadisc.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_hbadisc.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c index aaf398e5c93f..72c1cf15ef2b 100644 --- a/drivers/scsi/lpfc/lpfc_hbadisc.c +++ b/drivers/scsi/lpfc/lpfc_hbadisc.c | |||
@@ -207,8 +207,16 @@ lpfc_dev_loss_tmo_handler(struct lpfc_nodelist *ndlp) | |||
207 | return; | 207 | return; |
208 | } | 208 | } |
209 | 209 | ||
210 | if (ndlp->nlp_state == NLP_STE_MAPPED_NODE) | 210 | if (ndlp->nlp_state == NLP_STE_MAPPED_NODE) { |
211 | lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, | ||
212 | "0284 Devloss timeout Ignored on " | ||
213 | "WWPN %x:%x:%x:%x:%x:%x:%x:%x " | ||
214 | "NPort x%x\n", | ||
215 | *name, *(name+1), *(name+2), *(name+3), | ||
216 | *(name+4), *(name+5), *(name+6), *(name+7), | ||
217 | ndlp->nlp_DID); | ||
211 | return; | 218 | return; |
219 | } | ||
212 | 220 | ||
213 | if (ndlp->nlp_type & NLP_FABRIC) { | 221 | if (ndlp->nlp_type & NLP_FABRIC) { |
214 | /* We will clean up these Nodes in linkup */ | 222 | /* We will clean up these Nodes in linkup */ |
@@ -1169,7 +1177,7 @@ lpfc_mbx_cmpl_unreg_vpi(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb) | |||
1169 | scsi_host_put(shost); | 1177 | scsi_host_put(shost); |
1170 | } | 1178 | } |
1171 | 1179 | ||
1172 | void | 1180 | int |
1173 | lpfc_mbx_unreg_vpi(struct lpfc_vport *vport) | 1181 | lpfc_mbx_unreg_vpi(struct lpfc_vport *vport) |
1174 | { | 1182 | { |
1175 | struct lpfc_hba *phba = vport->phba; | 1183 | struct lpfc_hba *phba = vport->phba; |
@@ -1178,7 +1186,7 @@ lpfc_mbx_unreg_vpi(struct lpfc_vport *vport) | |||
1178 | 1186 | ||
1179 | mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); | 1187 | mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); |
1180 | if (!mbox) | 1188 | if (!mbox) |
1181 | return; | 1189 | return 1; |
1182 | 1190 | ||
1183 | lpfc_unreg_vpi(phba, vport->vpi, mbox); | 1191 | lpfc_unreg_vpi(phba, vport->vpi, mbox); |
1184 | mbox->vport = vport; | 1192 | mbox->vport = vport; |
@@ -1189,7 +1197,9 @@ lpfc_mbx_unreg_vpi(struct lpfc_vport *vport) | |||
1189 | "1800 Could not issue unreg_vpi\n"); | 1197 | "1800 Could not issue unreg_vpi\n"); |
1190 | mempool_free(mbox, phba->mbox_mem_pool); | 1198 | mempool_free(mbox, phba->mbox_mem_pool); |
1191 | vport->unreg_vpi_cmpl = VPORT_ERROR; | 1199 | vport->unreg_vpi_cmpl = VPORT_ERROR; |
1200 | return rc; | ||
1192 | } | 1201 | } |
1202 | return 0; | ||
1193 | } | 1203 | } |
1194 | 1204 | ||
1195 | static void | 1205 | static void |
@@ -2778,7 +2788,7 @@ restart_disc: | |||
2778 | 2788 | ||
2779 | default: | 2789 | default: |
2780 | lpfc_printf_vlog(vport, KERN_ERR, LOG_DISCOVERY, | 2790 | lpfc_printf_vlog(vport, KERN_ERR, LOG_DISCOVERY, |
2781 | "0229 Unexpected discovery timeout, " | 2791 | "0273 Unexpected discovery timeout, " |
2782 | "vport State x%x\n", vport->port_state); | 2792 | "vport State x%x\n", vport->port_state); |
2783 | break; | 2793 | break; |
2784 | } | 2794 | } |