diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_init.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_init.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index f6948ffe689a..4cdf3464267f 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c | |||
@@ -268,6 +268,8 @@ lpfc_config_port_post(struct lpfc_hba * phba) | |||
268 | kfree(mp); | 268 | kfree(mp); |
269 | pmb->context1 = NULL; | 269 | pmb->context1 = NULL; |
270 | 270 | ||
271 | if (phba->cfg_soft_wwpn) | ||
272 | u64_to_wwn(phba->cfg_soft_wwpn, phba->fc_sparam.portName.u.wwn); | ||
271 | memcpy(&phba->fc_nodename, &phba->fc_sparam.nodeName, | 273 | memcpy(&phba->fc_nodename, &phba->fc_sparam.nodeName, |
272 | sizeof (struct lpfc_name)); | 274 | sizeof (struct lpfc_name)); |
273 | memcpy(&phba->fc_portname, &phba->fc_sparam.portName, | 275 | memcpy(&phba->fc_portname, &phba->fc_sparam.portName, |
@@ -511,6 +513,7 @@ lpfc_handle_eratt(struct lpfc_hba * phba) | |||
511 | { | 513 | { |
512 | struct lpfc_sli *psli = &phba->sli; | 514 | struct lpfc_sli *psli = &phba->sli; |
513 | struct lpfc_sli_ring *pring; | 515 | struct lpfc_sli_ring *pring; |
516 | uint32_t event_data; | ||
514 | 517 | ||
515 | if (phba->work_hs & HS_FFER6) { | 518 | if (phba->work_hs & HS_FFER6) { |
516 | /* Re-establishing Link */ | 519 | /* Re-establishing Link */ |
@@ -555,6 +558,11 @@ lpfc_handle_eratt(struct lpfc_hba * phba) | |||
555 | phba->brd_no, phba->work_hs, | 558 | phba->brd_no, phba->work_hs, |
556 | phba->work_status[0], phba->work_status[1]); | 559 | phba->work_status[0], phba->work_status[1]); |
557 | 560 | ||
561 | event_data = FC_REG_DUMP_EVENT; | ||
562 | fc_host_post_vendor_event(phba->host, fc_get_event_number(), | ||
563 | sizeof(event_data), (char *) &event_data, | ||
564 | SCSI_NL_VID_TYPE_PCI | PCI_VENDOR_ID_EMULEX); | ||
565 | |||
558 | psli->sli_flag &= ~LPFC_SLI2_ACTIVE; | 566 | psli->sli_flag &= ~LPFC_SLI2_ACTIVE; |
559 | lpfc_offline(phba); | 567 | lpfc_offline(phba); |
560 | phba->hba_state = LPFC_HBA_ERROR; | 568 | phba->hba_state = LPFC_HBA_ERROR; |