diff options
author | James Smart <James.Smart@Emulex.Com> | 2007-10-27 13:37:43 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-01-11 19:22:33 -0500 |
commit | 87af33fe5f78c27cf9e43c6e586dd6efd4be3e40 (patch) | |
tree | e9960c6e95ed599672d5dcec0d3c4e428ae42799 /drivers/scsi/lpfc/lpfc_crtn.h | |
parent | 98c9ea5c026ee47efe2a0f595078dbf199d08f50 (diff) |
[SCSI] lpfc 8.2.3 : FC Discovery Fixes
FC Discovery Fixes:
- Fix up lpfc_drop_node() vs lpfc_nlp_not_used() usage
- Clear ADISC flag when unregistering RPI and REMOVE ndlps if in recovery.
- Fix usage of UNUSED list and ndlps
- Fix PLOGI race conditions
- Reset link if NameServer PLOGI errors occur
- Synchronize GID_FT queries with PLOGI receptions
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_crtn.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_crtn.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_crtn.h b/drivers/scsi/lpfc/lpfc_crtn.h index 59164c6aa28f..338b5dd10a92 100644 --- a/drivers/scsi/lpfc/lpfc_crtn.h +++ b/drivers/scsi/lpfc/lpfc_crtn.h | |||
@@ -45,6 +45,7 @@ void lpfc_init_link(struct lpfc_hba *, LPFC_MBOXQ_t *, uint32_t, uint32_t); | |||
45 | struct lpfc_vport *lpfc_find_vport_by_did(struct lpfc_hba *, uint32_t); | 45 | struct lpfc_vport *lpfc_find_vport_by_did(struct lpfc_hba *, uint32_t); |
46 | void lpfc_cleanup_rpis(struct lpfc_vport *vport, int remove); | 46 | void lpfc_cleanup_rpis(struct lpfc_vport *vport, int remove); |
47 | int lpfc_linkdown(struct lpfc_hba *); | 47 | int lpfc_linkdown(struct lpfc_hba *); |
48 | void lpfc_port_link_failure(struct lpfc_vport *); | ||
48 | void lpfc_mbx_cmpl_read_la(struct lpfc_hba *, LPFC_MBOXQ_t *); | 49 | void lpfc_mbx_cmpl_read_la(struct lpfc_hba *, LPFC_MBOXQ_t *); |
49 | 50 | ||
50 | void lpfc_mbx_cmpl_clear_la(struct lpfc_hba *, LPFC_MBOXQ_t *); | 51 | void lpfc_mbx_cmpl_clear_la(struct lpfc_hba *, LPFC_MBOXQ_t *); |
@@ -74,6 +75,7 @@ void lpfc_disc_list_loopmap(struct lpfc_vport *); | |||
74 | void lpfc_disc_start(struct lpfc_vport *); | 75 | void lpfc_disc_start(struct lpfc_vport *); |
75 | void lpfc_disc_flush_list(struct lpfc_vport *); | 76 | void lpfc_disc_flush_list(struct lpfc_vport *); |
76 | void lpfc_cleanup_discovery_resources(struct lpfc_vport *); | 77 | void lpfc_cleanup_discovery_resources(struct lpfc_vport *); |
78 | void lpfc_cleanup(struct lpfc_vport *); | ||
77 | void lpfc_disc_timeout(unsigned long); | 79 | void lpfc_disc_timeout(unsigned long); |
78 | 80 | ||
79 | struct lpfc_nodelist *__lpfc_findnode_rpi(struct lpfc_vport *, uint16_t); | 81 | struct lpfc_nodelist *__lpfc_findnode_rpi(struct lpfc_vport *, uint16_t); |
@@ -91,6 +93,8 @@ void lpfc_do_scr_ns_plogi(struct lpfc_hba *, struct lpfc_vport *); | |||
91 | int lpfc_check_sparm(struct lpfc_vport *, struct lpfc_nodelist *, | 93 | int lpfc_check_sparm(struct lpfc_vport *, struct lpfc_nodelist *, |
92 | struct serv_parm *, uint32_t); | 94 | struct serv_parm *, uint32_t); |
93 | int lpfc_els_abort(struct lpfc_hba *, struct lpfc_nodelist *); | 95 | int lpfc_els_abort(struct lpfc_hba *, struct lpfc_nodelist *); |
96 | void lpfc_more_plogi(struct lpfc_vport *); | ||
97 | void lpfc_end_rscn(struct lpfc_vport *); | ||
94 | int lpfc_els_chk_latt(struct lpfc_vport *); | 98 | int lpfc_els_chk_latt(struct lpfc_vport *); |
95 | int lpfc_els_abort_flogi(struct lpfc_hba *); | 99 | int lpfc_els_abort_flogi(struct lpfc_hba *); |
96 | int lpfc_initial_flogi(struct lpfc_vport *); | 100 | int lpfc_initial_flogi(struct lpfc_vport *); |