-static void *lpfc_disc_action[NLP_STE_MAX_STATE * NLP_EVT_MAX_EVENT] = {
- /* Action routine Event Current State */
- (void *)lpfc_rcv_plogi_unused_node, /* RCV_PLOGI UNUSED_NODE */
- (void *)lpfc_rcv_els_unused_node, /* RCV_PRLI */
- (void *)lpfc_rcv_logo_unused_node, /* RCV_LOGO */
- (void *)lpfc_rcv_els_unused_node, /* RCV_ADISC */
- (void *)lpfc_rcv_els_unused_node, /* RCV_PDISC */
- (void *)lpfc_rcv_els_unused_node, /* RCV_PRLO */
- (void *)lpfc_disc_illegal, /* CMPL_PLOGI */
- (void *)lpfc_disc_illegal, /* CMPL_PRLI */
- (void *)lpfc_cmpl_logo_unused_node, /* CMPL_LOGO */
- (void *)lpfc_disc_illegal, /* CMPL_ADISC */
- (void *)lpfc_disc_illegal, /* CMPL_REG_LOGIN */
- (void *)lpfc_device_rm_unused_node, /* DEVICE_RM */
- (void *)lpfc_disc_illegal, /* DEVICE_RECOVERY */
-
- (void *)lpfc_rcv_plogi_plogi_issue, /* RCV_PLOGI PLOGI_ISSUE */
- (void *)lpfc_rcv_els_plogi_issue, /* RCV_PRLI */
- (void *)lpfc_rcv_els_plogi_issue, /* RCV_LOGO */
- (void *)lpfc_rcv_els_plogi_issue, /* RCV_ADISC */
- (void *)lpfc_rcv_els_plogi_issue, /* RCV_PDISC */
- (void *)lpfc_rcv_els_plogi_issue, /* RCV_PRLO */
- (void *)lpfc_cmpl_plogi_plogi_issue, /* CMPL_PLOGI */
- (void *)lpfc_disc_illegal, /* CMPL_PRLI */
- (void *)lpfc_disc_illegal, /* CMPL_LOGO */
- (void *)lpfc_disc_illegal, /* CMPL_ADISC */
- (void *)lpfc_disc_illegal, /* CMPL_REG_LOGIN */
- (void *)lpfc_device_rm_plogi_issue, /* DEVICE_RM */
- (void *)lpfc_device_recov_plogi_issue, /* DEVICE_RECOVERY */
-
- (void *)lpfc_rcv_plogi_adisc_issue, /* RCV_PLOGI ADISC_ISSUE */
- (void *)lpfc_rcv_prli_adisc_issue, /* RCV_PRLI */
- (void *)lpfc_rcv_logo_adisc_issue, /* RCV_LOGO */
- (void *)lpfc_rcv_padisc_adisc_issue, /* RCV_ADISC */
- (void *)lpfc_rcv_padisc_adisc_issue, /* RCV_PDISC */
- (void *)lpfc_rcv_prlo_adisc_issue, /* RCV_PRLO */
- (void *)lpfc_disc_illegal, /* CMPL_PLOGI */
- (void *)lpfc_disc_illegal, /* CMPL_PRLI */
- (void *)lpfc_disc_illegal, /* CMPL_LOGO */
- (void *)lpfc_cmpl_adisc_adisc_issue, /* CMPL_ADISC */
- (void *)lpfc_disc_illegal, /* CMPL_REG_LOGIN */
- (void *)lpfc_device_rm_adisc_issue, /* DEVICE_RM */
- (void *)lpfc_device_recov_adisc_issue, /* DEVICE_RECOVERY */
-
- (void *)lpfc_rcv_plogi_reglogin_issue, /* RCV_PLOGI REG_LOGIN_ISSUE */
- (void *)lpfc_rcv_prli_reglogin_issue, /* RCV_PLOGI */
- (void *)lpfc_rcv_logo_reglogin_issue, /* RCV_LOGO */
- (void *)lpfc_rcv_padisc_reglogin_issue, /* RCV_ADISC */
- (void *)lpfc_rcv_padisc_reglogin_issue, /* RCV_PDISC */
- (void *)lpfc_rcv_prlo_reglogin_issue, /* RCV_PRLO */
- (void *)lpfc_disc_illegal, /* CMPL_PLOGI */
- (void *)lpfc_disc_illegal, /* CMPL_PRLI */
- (void *)lpfc_disc_illegal, /* CMPL_LOGO */
- (void *)lpfc_disc_illegal, /* CMPL_ADISC */
- (void *)lpfc_cmpl_reglogin_reglogin_issue,/* CMPL_REG_LOGIN */
- (void *)lpfc_device_rm_reglogin_issue, /* DEVICE_RM */
- (void *)lpfc_device_recov_reglogin_issue,/* DEVICE_RECOVERY */
-
- (void *)lpfc_rcv_plogi_prli_issue, /* RCV_PLOGI PRLI_ISSUE */
- (void *)lpfc_rcv_prli_prli_issue, /* RCV_PRLI */
- (void *)lpfc_rcv_logo_prli_issue, /* RCV_LOGO */
- (void *)lpfc_rcv_padisc_prli_issue, /* RCV_ADISC */
- (void *)lpfc_rcv_padisc_prli_issue, /* RCV_PDISC */
- (void *)lpfc_rcv_prlo_prli_issue, /* RCV_PRLO */
- (void *)lpfc_disc_illegal, /* CMPL_PLOGI */
- (void *)lpfc_cmpl_prli_prli_issue, /* CMPL_PRLI */
- (void *)lpfc_disc_illegal, /* CMPL_LOGO */
- (void *)lpfc_disc_illegal, /* CMPL_ADISC */
- (void *)lpfc_disc_illegal, /* CMPL_REG_LOGIN */
- (void *)lpfc_device_rm_prli_issue, /* DEVICE_RM */
- (void *)lpfc_device_recov_prli_issue, /* DEVICE_RECOVERY */
-
- (void *)lpfc_rcv_plogi_unmap_node, /* RCV_PLOGI UNMAPPED_NODE */
- (void *)lpfc_rcv_prli_unmap_node, /* RCV_PRLI */
- (void *)lpfc_rcv_logo_unmap_node, /* RCV_LOGO */
- (void *)lpfc_rcv_padisc_unmap_node, /* RCV_ADISC */
- (void *)lpfc_rcv_padisc_unmap_node, /* RCV_PDISC */
- (void *)lpfc_rcv_prlo_unmap_node, /* RCV_PRLO */
- (void *)lpfc_disc_illegal, /* CMPL_PLOGI */
- (void *)lpfc_disc_illegal, /* CMPL_PRLI */
- (void *)lpfc_disc_illegal, /* CMPL_LOGO */
- (void *)lpfc_disc_illegal, /* CMPL_ADISC */
- (void *)lpfc_disc_illegal, /* CMPL_REG_LOGIN */
- (void *)lpfc_disc_illegal, /* DEVICE_RM */
- (void *)lpfc_device_recov_unmap_node, /* DEVICE_RECOVERY */
-
- (void *)lpfc_rcv_plogi_mapped_node, /* RCV_PLOGI MAPPED_NODE */
- (void *)lpfc_rcv_prli_mapped_node, /* RCV_PRLI */
- (void *)lpfc_rcv_logo_mapped_node, /* RCV_LOGO */
- (void *)lpfc_rcv_padisc_mapped_node, /* RCV_ADISC */
- (void *)lpfc_rcv_padisc_mapped_node, /* RCV_PDISC */
- (void *)lpfc_rcv_prlo_mapped_node, /* RCV_PRLO */
- (void *)lpfc_disc_illegal, /* CMPL_PLOGI */
- (void *)lpfc_disc_illegal, /* CMPL_PRLI */
- (void *)lpfc_disc_illegal, /* CMPL_LOGO */
- (void *)lpfc_disc_illegal, /* CMPL_ADISC */
- (void *)lpfc_disc_illegal, /* CMPL_REG_LOGIN */
- (void *)lpfc_disc_illegal, /* DEVICE_RM */
- (void *)lpfc_device_recov_mapped_node, /* DEVICE_RECOVERY */
-
- (void *)lpfc_rcv_plogi_npr_node, /* RCV_PLOGI NPR_NODE */
- (void *)lpfc_rcv_prli_npr_node, /* RCV_PRLI */
- (void *)lpfc_rcv_logo_npr_node, /* RCV_LOGO */
- (void *)lpfc_rcv_padisc_npr_node, /* RCV_ADISC */
- (void *)lpfc_rcv_padisc_npr_node, /* RCV_PDISC */
- (void *)lpfc_rcv_prlo_npr_node, /* RCV_PRLO */
- (void *)lpfc_disc_noop, /* CMPL_PLOGI */
- (void *)lpfc_disc_noop, /* CMPL_PRLI */
- (void *)lpfc_cmpl_logo_npr_node, /* CMPL_LOGO */
- (void *)lpfc_disc_noop, /* CMPL_ADISC */
- (void *)lpfc_cmpl_reglogin_npr_node, /* CMPL_REG_LOGIN */
- (void *)lpfc_device_rm_npr_node, /* DEVICE_RM */
- (void *)lpfc_device_recov_npr_node, /* DEVICE_RECOVERY */
+static uint32_t (*lpfc_disc_action[NLP_STE_MAX_STATE * NLP_EVT_MAX_EVENT])
+ (struct lpfc_hba *, struct lpfc_nodelist *, void *, uint32_t) = {
+ /* Action routine Event Current State */
+ lpfc_rcv_plogi_unused_node, /* RCV_PLOGI UNUSED_NODE */
+ lpfc_rcv_els_unused_node, /* RCV_PRLI */
+ lpfc_rcv_logo_unused_node, /* RCV_LOGO */
+ lpfc_rcv_els_unused_node, /* RCV_ADISC */
+ lpfc_rcv_els_unused_node, /* RCV_PDISC */
+ lpfc_rcv_els_unused_node, /* RCV_PRLO */
+ lpfc_disc_illegal, /* CMPL_PLOGI */
+ lpfc_disc_illegal, /* CMPL_PRLI */
+ lpfc_cmpl_logo_unused_node, /* CMPL_LOGO */
+ lpfc_disc_illegal, /* CMPL_ADISC */
+ lpfc_disc_illegal, /* CMPL_REG_LOGIN */
+ lpfc_device_rm_unused_node, /* DEVICE_RM */
+ lpfc_disc_illegal, /* DEVICE_RECOVERY */
+
+ lpfc_rcv_plogi_plogi_issue, /* RCV_PLOGI PLOGI_ISSUE */
+ lpfc_rcv_els_plogi_issue, /* RCV_PRLI */
+ lpfc_rcv_logo_plogi_issue, /* RCV_LOGO */
+ lpfc_rcv_els_plogi_issue, /* RCV_ADISC */
+ lpfc_rcv_els_plogi_issue, /* RCV_PDISC */
+ lpfc_rcv_els_plogi_issue, /* RCV_PRLO */
+ lpfc_cmpl_plogi_plogi_issue, /* CMPL_PLOGI */
+ lpfc_disc_illegal, /* CMPL_PRLI */
+ lpfc_disc_illegal, /* CMPL_LOGO */
+ lpfc_disc_illegal, /* CMPL_ADISC */
+ lpfc_disc_illegal, /* CMPL_REG_LOGIN */
+ lpfc_device_rm_plogi_issue, /* DEVICE_RM */
+ lpfc_device_recov_plogi_issue, /* DEVICE_RECOVERY */
+
+ lpfc_rcv_plogi_adisc_issue, /* RCV_PLOGI ADISC_ISSUE */
+ lpfc_rcv_prli_adisc_issue, /* RCV_PRLI */
+ lpfc_rcv_logo_adisc_issue, /* RCV_LOGO */
+ lpfc_rcv_padisc_adisc_issue, /* RCV_ADISC */
+ lpfc_rcv_padisc_adisc_issue, /* RCV_PDISC */
+ lpfc_rcv_prlo_adisc_issue, /* RCV_PRLO */
+ lpfc_disc_illegal, /* CMPL_PLOGI */
+ lpfc_disc_illegal, /* CMPL_PRLI */
+ lpfc_disc_illegal, /* CMPL_LOGO */
+ lpfc_cmpl_adisc_adisc_issue, /* CMPL_ADISC */
+ lpfc_disc_illegal, /* CMPL_REG_LOGIN */
+ lpfc_device_rm_adisc_issue, /* DEVICE_RM */
+ lpfc_device_recov_adisc_issue, /* DEVICE_RECOVERY */
+
+ lpfc_rcv_plogi_reglogin_issue, /* RCV_PLOGI REG_LOGIN_ISSUE */
+ lpfc_rcv_prli_reglogin_issue, /* RCV_PLOGI */
+ lpfc_rcv_logo_reglogin_issue, /* RCV_LOGO */
+ lpfc_rcv_padisc_reglogin_issue, /* RCV_ADISC */
+ lpfc_rcv_padisc_reglogin_issue, /* RCV_PDISC */
+ lpfc_rcv_prlo_reglogin_issue, /* RCV_PRLO */
+ lpfc_disc_illegal, /* CMPL_PLOGI */
+ lpfc_disc_illegal, /* CMPL_PRLI */
+ lpfc_disc_illegal, /* CMPL_LOGO */
+ lpfc_disc_illegal, /* CMPL_ADISC */
+ lpfc_cmpl_reglogin_reglogin_issue,/* CMPL_REG_LOGIN */
+ lpfc_device_rm_reglogin_issue, /* DEVICE_RM */
+ lpfc_device_recov_reglogin_issue,/* DEVICE_RECOVERY */
+
+ lpfc_rcv_plogi_prli_issue, /* RCV_PLOGI PRLI_ISSUE */
+ lpfc_rcv_prli_prli_issue, /* RCV_PRLI */
+ lpfc_rcv_logo_prli_issue, /* RCV_LOGO */
+ lpfc_rcv_padisc_prli_issue, /* RCV_ADISC */
+ lpfc_rcv_padisc_prli_issue, /* RCV_PDISC */
+ lpfc_rcv_prlo_prli_issue, /* RCV_PRLO */
+ lpfc_disc_illegal, /* CMPL_PLOGI */
+ lpfc_cmpl_prli_prli_issue, /* CMPL_PRLI */
+ lpfc_disc_illegal, /* CMPL_LOGO */
+ lpfc_disc_illegal, /* CMPL_ADISC */
+ lpfc_disc_illegal, /* CMPL_REG_LOGIN */
+ lpfc_device_rm_prli_issue, /* DEVICE_RM */
+ lpfc_device_recov_prli_issue, /* DEVICE_RECOVERY */
+
+ lpfc_rcv_plogi_unmap_node, /* RCV_PLOGI UNMAPPED_NODE */
+ lpfc_rcv_prli_unmap_node, /* RCV_PRLI */
+ lpfc_rcv_logo_unmap_node, /* RCV_LOGO */
+ lpfc_rcv_padisc_unmap_node, /* RCV_ADISC */
+ lpfc_rcv_padisc_unmap_node, /* RCV_PDISC */
+ lpfc_rcv_prlo_unmap_node, /* RCV_PRLO */
+ lpfc_disc_illegal, /* CMPL_PLOGI */
+ lpfc_disc_illegal, /* CMPL_PRLI */
+ lpfc_disc_illegal, /* CMPL_LOGO */
+ lpfc_disc_illegal, /* CMPL_ADISC */
+ lpfc_disc_illegal, /* CMPL_REG_LOGIN */
+ lpfc_disc_illegal, /* DEVICE_RM */
+ lpfc_device_recov_unmap_node, /* DEVICE_RECOVERY */
+
+ lpfc_rcv_plogi_mapped_node, /* RCV_PLOGI MAPPED_NODE */
+ lpfc_rcv_prli_mapped_node, /* RCV_PRLI */
+ lpfc_rcv_logo_mapped_node, /* RCV_LOGO */
+ lpfc_rcv_padisc_mapped_node, /* RCV_ADISC */
+ lpfc_rcv_padisc_mapped_node, /* RCV_PDISC */
+ lpfc_rcv_prlo_mapped_node, /* RCV_PRLO */
+ lpfc_disc_illegal, /* CMPL_PLOGI */
+ lpfc_disc_illegal, /* CMPL_PRLI */
+ lpfc_disc_illegal, /* CMPL_LOGO */
+ lpfc_disc_illegal, /* CMPL_ADISC */
+ lpfc_disc_illegal, /* CMPL_REG_LOGIN */
+ lpfc_disc_illegal, /* DEVICE_RM */
+ lpfc_device_recov_mapped_node, /* DEVICE_RECOVERY */
+
+ lpfc_rcv_plogi_npr_node, /* RCV_PLOGI NPR_NODE */
+ lpfc_rcv_prli_npr_node, /* RCV_PRLI */
+ lpfc_rcv_logo_npr_node, /* RCV_LOGO */
+ lpfc_rcv_padisc_npr_node, /* RCV_ADISC */
+ lpfc_rcv_padisc_npr_node, /* RCV_PDISC */
+ lpfc_rcv_prlo_npr_node, /* RCV_PRLO */
+ lpfc_cmpl_plogi_npr_node, /* CMPL_PLOGI */
+ lpfc_cmpl_prli_npr_node, /* CMPL_PRLI */
+ lpfc_cmpl_logo_npr_node, /* CMPL_LOGO */
+ lpfc_cmpl_adisc_npr_node, /* CMPL_ADISC */
+ lpfc_cmpl_reglogin_npr_node, /* CMPL_REG_LOGIN */
+ lpfc_device_rm_npr_node, /* DEVICE_RM */
+ lpfc_device_recov_npr_node, /* DEVICE_RECOVERY */