static void bfa_fcs_port_ms_sm_online(struct bfa_fcs_port_ms_s *ms, enum port_ms_event event) { bfa_trc(ms->port->fcs, ms->port->port_cfg.pwwn); bfa_trc(ms->port->fcs, event); switch (event) { case MSSM_EVENT_PORT_OFFLINE: bfa_sm_set_state(ms, bfa_fcs_port_ms_sm_offline); /* * now invoke MS related sub-modules */ bfa_fcs_port_fdmi_offline(ms); break; case MSSM_EVENT_PORT_FABRIC_RSCN: bfa_sm_set_state(ms, bfa_fcs_port_ms_sm_gfn_sending); ms->retry_cnt = 0; bfa_fcs_port_ms_send_gfn(ms, NULL); break; default: bfa_assert(0); } }
void bfa_fcs_port_ms_offline(struct bfa_fcs_port_s *port) { struct bfa_fcs_port_ms_s *ms = BFA_FCS_GET_MS_FROM_PORT(port); ms->port = port; bfa_sm_send_event(ms, MSSM_EVENT_PORT_OFFLINE); bfa_fcs_port_fdmi_offline(ms); }