Lines Matching refs:node
70 ocs_node_t *node = io->node; in ocs_d_send_prli_rsp() local
73 if (ocs->fc_type != node->fc_type) { in ocs_d_send_prli_rsp()
74 node_printf(node, "PRLI rejected by target-server, fc-type not supported\n"); in ocs_d_send_prli_rsp()
77 node->shutdown_reason = OCS_NODE_SHUTDOWN_DEFAULT; in ocs_d_send_prli_rsp()
78 ocs_node_transition(node, __ocs_d_initiate_shutdown, NULL); in ocs_d_send_prli_rsp()
82 if (node->sport->enable_tgt && (ocs_scsi_validate_initiator(node) == 0)) { in ocs_d_send_prli_rsp()
83 node_printf(node, "PRLI rejected by target-server\n"); in ocs_d_send_prli_rsp()
86 node->shutdown_reason = OCS_NODE_SHUTDOWN_DEFAULT; in ocs_d_send_prli_rsp()
87 ocs_node_transition(node, __ocs_d_initiate_shutdown, NULL); in ocs_d_send_prli_rsp()
95 ocs_node_transition(node, __ocs_d_device_ready, NULL); in ocs_d_send_prli_rsp()
121 ocs_scsi_io_alloc_disable(node); in __ocs_d_initiate_shutdown()
124 if (node->init && !node->targ) { in __ocs_d_initiate_shutdown()
125 ocs_log_debug(node->ocs, in __ocs_d_initiate_shutdown()
127 node->display_name, node->wwpn, node->wwnn); in __ocs_d_initiate_shutdown()
128 ocs_node_transition(node, __ocs_d_wait_del_node, NULL); in __ocs_d_initiate_shutdown()
129 if (node->sport->enable_tgt) { in __ocs_d_initiate_shutdown()
130 rc = ocs_scsi_del_initiator(node, in __ocs_d_initiate_shutdown()
134 ocs_node_post_event(node, in __ocs_d_initiate_shutdown()
137 } else if (node->targ && !node->init) { in __ocs_d_initiate_shutdown()
138 ocs_log_debug(node->ocs, in __ocs_d_initiate_shutdown()
140 node->display_name, node->wwpn, node->wwnn); in __ocs_d_initiate_shutdown()
141 ocs_node_transition(node, __ocs_d_wait_del_node, NULL); in __ocs_d_initiate_shutdown()
142 if (node->sport->enable_ini) { in __ocs_d_initiate_shutdown()
143 rc = ocs_scsi_del_target(node, in __ocs_d_initiate_shutdown()
147 ocs_node_post_event(node, in __ocs_d_initiate_shutdown()
150 } else if (node->init && node->targ) { in __ocs_d_initiate_shutdown()
151 ocs_log_debug(node->ocs, in __ocs_d_initiate_shutdown()
153 node->display_name, node->wwpn, node->wwnn); in __ocs_d_initiate_shutdown()
154 ocs_node_transition(node, __ocs_d_wait_del_ini_tgt, NULL); in __ocs_d_initiate_shutdown()
155 if (node->sport->enable_tgt) { in __ocs_d_initiate_shutdown()
156 rc = ocs_scsi_del_initiator(node, in __ocs_d_initiate_shutdown()
160 ocs_node_post_event(node, in __ocs_d_initiate_shutdown()
164 if (node->sport->enable_ini) { in __ocs_d_initiate_shutdown()
165 rc = ocs_scsi_del_target(node, in __ocs_d_initiate_shutdown()
169 ocs_node_post_event(node, in __ocs_d_initiate_shutdown()
182 if (node->attached) { in __ocs_d_initiate_shutdown()
187 rc = ocs_hw_node_detach(&ocs->hw, &node->rnode); in __ocs_d_initiate_shutdown()
188 if (node->rnode.free_group) { in __ocs_d_initiate_shutdown()
189 ocs_remote_node_group_free(node->node_group); in __ocs_d_initiate_shutdown()
190 node->node_group = NULL; in __ocs_d_initiate_shutdown()
191 node->rnode.free_group = FALSE; in __ocs_d_initiate_shutdown()
195 node_printf(node, in __ocs_d_initiate_shutdown()
201 if (!node->init && !node->targ){ in __ocs_d_initiate_shutdown()
207 ocs_node_initiate_cleanup(node); in __ocs_d_initiate_shutdown()
240 ocs_node_t *node = NULL; in __ocs_d_common() local
243 node = ctx->app; in __ocs_d_common()
244 ocs_assert(node, NULL); in __ocs_d_common()
245 ocs = node->ocs; in __ocs_d_common()
251 ocs_log_debug(ocs, "[%s] %-20s %-20s\n", node->display_name, funcname, ocs_sm_event_name(evt)); in __ocs_d_common()
252 node->shutdown_reason = OCS_NODE_SHUTDOWN_DEFAULT; in __ocs_d_common()
253 ocs_node_transition(node, __ocs_d_initiate_shutdown, NULL); in __ocs_d_common()
256 ocs_log_debug(ocs, "[%s] %-20s %-20s\n", node->display_name, funcname, ocs_sm_event_name(evt)); in __ocs_d_common()
257 node->shutdown_reason = OCS_NODE_SHUTDOWN_EXPLICIT_LOGO; in __ocs_d_common()
258 ocs_node_transition(node, __ocs_d_initiate_shutdown, NULL); in __ocs_d_common()
261 ocs_log_debug(ocs, "[%s] %-20s %-20s\n", node->display_name, funcname, ocs_sm_event_name(evt)); in __ocs_d_common()
262 node->shutdown_reason = OCS_NODE_SHUTDOWN_IMPLICIT_LOGO; in __ocs_d_common()
263 ocs_node_transition(node, __ocs_d_initiate_shutdown, NULL); in __ocs_d_common()
297 ocs_node_hold_frames(node); in __ocs_d_wait_loop()
301 ocs_node_accept_frames(node); in __ocs_d_wait_loop()
306 ocs_node_init_device(node, TRUE); in __ocs_d_wait_loop()
340 ocs_node_hold_frames(node); in __ocs_d_wait_del_ini_tgt()
350 ocs_node_transition(node, __ocs_d_wait_del_node, NULL); in __ocs_d_wait_del_ini_tgt()
354 ocs_node_accept_frames(node); in __ocs_d_wait_del_ini_tgt()
359 ocs_assert(node->els_req_cnt, NULL); in __ocs_d_wait_del_ini_tgt()
360 node->els_req_cnt--; in __ocs_d_wait_del_ini_tgt()
366 node->shutdown_reason = OCS_NODE_SHUTDOWN_DEFAULT; in __ocs_d_wait_del_ini_tgt()
370 node_printf(node, "%s received\n", ocs_sm_event_name(evt)); in __ocs_d_wait_del_ini_tgt()
406 ocs_node_hold_frames(node); in __ocs_d_wait_del_node()
420 ocs_node_initiate_cleanup(node); in __ocs_d_wait_del_node()
424 ocs_node_accept_frames(node); in __ocs_d_wait_del_node()
429 ocs_assert(node->els_req_cnt, NULL); in __ocs_d_wait_del_node()
430 node->els_req_cnt--; in __ocs_d_wait_del_node()
436 node->shutdown_reason = OCS_NODE_SHUTDOWN_DEFAULT; in __ocs_d_wait_del_node()
440 node_printf(node, "%s received\n", ocs_sm_event_name(evt)); in __ocs_d_wait_del_node()
471 ocs_node_t *node = io->node; in ocs_send_ls_acc_after_attach() local
474 ocs_assert(node->send_ls_acc == OCS_NODE_SEND_LS_ACC_NONE); in ocs_send_ls_acc_after_attach()
476 node->ls_acc_oxid = ox_id; in ocs_send_ls_acc_after_attach()
477 node->send_ls_acc = ls; in ocs_send_ls_acc_after_attach()
478 node->ls_acc_io = io; in ocs_send_ls_acc_after_attach()
479 node->ls_acc_did = fc_be24toh(hdr->d_id); in ocs_send_ls_acc_after_attach()
496 ocs_process_prli_payload(ocs_node_t *node, fc_prli_payload_t *prli) in ocs_process_prli_payload() argument
498 node->init = (ocs_be16toh(prli->service_params) & FC_PRLI_INITIATOR_FUNCTION) != 0; in ocs_process_prli_payload()
499 node->targ = (ocs_be16toh(prli->service_params) & FC_PRLI_TARGET_FUNCTION) != 0; in ocs_process_prli_payload()
500 node->fcp2device = (ocs_be16toh(prli->service_params) & FC_PRLI_RETRY) != 0; in ocs_process_prli_payload()
501 node->fc_type = prli->type; in ocs_process_prli_payload()
521 ocs_node_t *node = io->node; in ocs_process_abts() local
522 ocs_t *ocs = node->ocs; in ocs_process_abts()
527 abortio = ocs_io_find_tgt_io(ocs, node, ox_id, rx_id); in ocs_process_abts()
532 node_printf(node, "Abort request: ox_id [%04x] rx_id [%04x]\n", in ocs_process_abts()
563 node_printf(node, "Abort request: ox_id [%04x], IO not found (exists=%d)\n", in ocs_process_abts()
592 ocs_node_hold_frames(node); in __ocs_d_wait_plogi_acc_cmpl()
596 ocs_node_accept_frames(node); in __ocs_d_wait_plogi_acc_cmpl()
600 ocs_assert(node->els_cmpl_cnt, NULL); in __ocs_d_wait_plogi_acc_cmpl()
601 node->els_cmpl_cnt--; in __ocs_d_wait_plogi_acc_cmpl()
602 node->shutdown_reason = OCS_NODE_SHUTDOWN_DEFAULT; in __ocs_d_wait_plogi_acc_cmpl()
603 ocs_node_transition(node, __ocs_d_initiate_shutdown, NULL); in __ocs_d_wait_plogi_acc_cmpl()
607 ocs_assert(node->els_cmpl_cnt, NULL); in __ocs_d_wait_plogi_acc_cmpl()
608 node->els_cmpl_cnt--; in __ocs_d_wait_plogi_acc_cmpl()
609 ocs_node_transition(node, __ocs_d_port_logged_in, NULL); in __ocs_d_wait_plogi_acc_cmpl()
642 ocs_node_hold_frames(node); in __ocs_d_wait_logo_rsp()
646 ocs_node_accept_frames(node); in __ocs_d_wait_logo_rsp()
656 ocs_assert(node->els_req_cnt, NULL); in __ocs_d_wait_logo_rsp()
657 node->els_req_cnt--; in __ocs_d_wait_logo_rsp()
658 node_printf(node, "LOGO sent (evt=%s), shutdown node\n", ocs_sm_event_name(evt)); in __ocs_d_wait_logo_rsp()
660 ocs_node_post_event(node, OCS_EVT_SHUTDOWN_EXPLICIT_LOGO, NULL); in __ocs_d_wait_logo_rsp()
692 ocs_node_hold_frames(node); in __ocs_d_wait_prlo_rsp()
696 ocs_node_accept_frames(node); in __ocs_d_wait_prlo_rsp()
705 ocs_assert(node->els_req_cnt, NULL); in __ocs_d_wait_prlo_rsp()
706 node->els_req_cnt--; in __ocs_d_wait_prlo_rsp()
707 node_printf(node, "PRLO sent (evt=%s)\n", ocs_sm_event_name(evt)); in __ocs_d_wait_prlo_rsp()
708 ocs_node_transition(node, __ocs_d_port_logged_in, NULL); in __ocs_d_wait_prlo_rsp()
731 ocs_node_init_device(ocs_node_t *node, int send_plogi) in ocs_node_init_device() argument
733 node->send_plogi = send_plogi; in ocs_node_init_device()
734 …if ((node->ocs->nodedb_mask & OCS_NODEDB_PAUSE_NEW_NODES) && !FC_ADDR_IS_DOMAIN_CTRL(node->rnode.f… in ocs_node_init_device()
735 node->nodedb_state = __ocs_d_init; in ocs_node_init_device()
736 ocs_node_transition(node, __ocs_node_paused, NULL); in ocs_node_init_device()
738 ocs_node_transition(node, __ocs_d_init, NULL); in ocs_node_init_device()
772 if (node->send_plogi) { in __ocs_d_init()
774 if (node->sport->enable_ini && node->sport->domain->attached) { in __ocs_d_init()
775 ocs_send_plogi(node, OCS_FC_ELS_SEND_DEFAULT_TIMEOUT, in __ocs_d_init()
777 ocs_node_transition(node, __ocs_d_wait_plogi_rsp, NULL); in __ocs_d_init()
779 node_printf(node, "not sending plogi sport.ini=%d, domain attached=%d\n", in __ocs_d_init()
780 node->sport->enable_ini, node->sport->domain->attached); in __ocs_d_init()
789 ocs_node_save_sparms(node, cbdata->payload->dma.virt); in __ocs_d_init()
793 if (node->sport->domain->attached) { in __ocs_d_init()
794 rc = ocs_node_attach(node); in __ocs_d_init()
795 ocs_node_transition(node, __ocs_d_wait_node_attach, NULL); in __ocs_d_init()
797 ocs_node_post_event(node, OCS_EVT_NODE_ATTACH_OK, NULL); in __ocs_d_init()
803 switch (node->sport->topology) { in __ocs_d_init()
806 ocs_domain_attach(node->sport->domain, d_id); in __ocs_d_init()
807 ocs_node_transition(node, __ocs_d_wait_domain_attach, NULL); in __ocs_d_init()
813 ocs_node_transition(node, __ocs_d_wait_domain_attach, NULL); in __ocs_d_init()
826 node_printf(node, "received PLOGI, with unknown topology did=0x%x\n", d_id); in __ocs_d_init()
827 ocs_node_transition(node, __ocs_d_wait_topology_notify, NULL); in __ocs_d_init()
830 node_printf(node, "received PLOGI, with unexpectd topology %d\n", in __ocs_d_init()
831 node->sport->topology); in __ocs_d_init()
850 ocs_domain_save_sparms(node->sport->domain, cbdata->payload->dma.virt); in __ocs_d_init()
853 ocs_fabric_set_topology(node, OCS_SPORT_TOPOLOGY_P2P); in __ocs_d_init()
855 if (ocs_p2p_setup(node->sport)) { in __ocs_d_init()
856 node_printf(node, "p2p setup failed, shutting down node\n"); in __ocs_d_init()
857 ocs_node_post_event(node, OCS_EVT_SHUTDOWN, NULL); in __ocs_d_init()
859 ocs_node_transition(node, __ocs_p2p_wait_flogi_acc_cmpl, NULL); in __ocs_d_init()
868 if (!node->sport->domain->attached) { in __ocs_d_init()
871 node_printf(node, "%s domain not attached, dropping\n", ocs_sm_event_name(evt)); in __ocs_d_init()
872 ocs_node_post_event(node, OCS_EVT_SHUTDOWN_EXPLICIT_LOGO, NULL); in __ocs_d_init()
876 ocs_node_transition(node, __ocs_d_wait_logo_acc_cmpl, NULL); in __ocs_d_init()
886 if (!node->sport->domain->attached) { in __ocs_d_init()
889 node_printf(node, "%s domain not attached, dropping\n", ocs_sm_event_name(evt)); in __ocs_d_init()
890 ocs_node_post_event(node, OCS_EVT_SHUTDOWN_EXPLICIT_LOGO, NULL); in __ocs_d_init()
893 node_printf(node, "%s received, sending reject\n", ocs_sm_event_name(evt)); in __ocs_d_init()
904 if (!node->sport->domain->attached) { in __ocs_d_init()
907 node_printf(node, "%s domain not attached, dropping\n", ocs_sm_event_name(evt)); in __ocs_d_init()
908 ocs_node_post_event(node, OCS_EVT_SHUTDOWN_EXPLICIT_LOGO, NULL); in __ocs_d_init()
913 node_printf(node, "FCP_CMND received, send LOGO\n"); in __ocs_d_init()
914 if (ocs_send_logo(node, OCS_FC_ELS_SEND_DEFAULT_TIMEOUT, 0, NULL, NULL) == NULL) { in __ocs_d_init()
916 node_printf(node, "Failed to send LOGO\n"); in __ocs_d_init()
917 ocs_node_post_event(node, OCS_EVT_SHUTDOWN_EXPLICIT_LOGO, NULL); in __ocs_d_init()
920 ocs_node_transition(node, __ocs_d_wait_logo_rsp, NULL); in __ocs_d_init()
969 ocs_node_save_sparms(node, cbdata->payload->dma.virt); in __ocs_d_wait_plogi_rsp()
972 rc = ocs_node_attach(node); in __ocs_d_wait_plogi_rsp()
973 ocs_node_transition(node, __ocs_d_wait_node_attach, NULL); in __ocs_d_wait_plogi_rsp()
975 ocs_node_post_event(node, OCS_EVT_NODE_ATTACH_OK, NULL); in __ocs_d_wait_plogi_rsp()
988 ocs_process_prli_payload(node, cbdata->payload->dma.virt); in __ocs_d_wait_plogi_rsp()
989 if (ocs->fc_type == node->fc_type) { in __ocs_d_wait_plogi_rsp()
991 ocs_node_transition(node, __ocs_d_wait_plogi_rsp_recvd_prli, NULL); in __ocs_d_wait_plogi_rsp()
1006 node_printf(node, "%s received, sending reject\n", ocs_sm_event_name(evt)); in __ocs_d_wait_plogi_rsp()
1019 ocs_assert(node->els_req_cnt, NULL); in __ocs_d_wait_plogi_rsp()
1020 node->els_req_cnt--; in __ocs_d_wait_plogi_rsp()
1022 ocs_node_save_sparms(node, cbdata->els->els_rsp.virt); in __ocs_d_wait_plogi_rsp()
1023 ocs_display_sparams(node->display_name, "plogi rcvd resp", 0, NULL, in __ocs_d_wait_plogi_rsp()
1025 rc = ocs_node_attach(node); in __ocs_d_wait_plogi_rsp()
1026 ocs_node_transition(node, __ocs_d_wait_node_attach, NULL); in __ocs_d_wait_plogi_rsp()
1028 ocs_node_post_event(node, OCS_EVT_NODE_ATTACH_OK, NULL); in __ocs_d_wait_plogi_rsp()
1037 ocs_assert(node->els_req_cnt, NULL); in __ocs_d_wait_plogi_rsp()
1038 node->els_req_cnt--; in __ocs_d_wait_plogi_rsp()
1039 ocs_node_post_event(node, OCS_EVT_SHUTDOWN, NULL); in __ocs_d_wait_plogi_rsp()
1046 ocs_assert(node->els_req_cnt, NULL); in __ocs_d_wait_plogi_rsp()
1047 node->els_req_cnt--; in __ocs_d_wait_plogi_rsp()
1054 node_printf(node, "FCP_CMND received, drop\n"); in __ocs_d_wait_plogi_rsp()
1105 ocs_node_hold_frames(node); in __ocs_d_wait_plogi_rsp_recvd_prli()
1109 ocs_node_accept_frames(node); in __ocs_d_wait_plogi_rsp_recvd_prli()
1117 ocs_assert(node->els_req_cnt, NULL); in __ocs_d_wait_plogi_rsp_recvd_prli()
1118 node->els_req_cnt--; in __ocs_d_wait_plogi_rsp_recvd_prli()
1120 ocs_node_save_sparms(node, cbdata->els->els_rsp.virt); in __ocs_d_wait_plogi_rsp_recvd_prli()
1121 ocs_display_sparams(node->display_name, "plogi rcvd resp", 0, NULL, in __ocs_d_wait_plogi_rsp_recvd_prli()
1123 rc = ocs_node_attach(node); in __ocs_d_wait_plogi_rsp_recvd_prli()
1124 ocs_node_transition(node, __ocs_d_wait_node_attach, NULL); in __ocs_d_wait_plogi_rsp_recvd_prli()
1126 ocs_node_post_event(node, OCS_EVT_NODE_ATTACH_OK, NULL); in __ocs_d_wait_plogi_rsp_recvd_prli()
1136 ocs_assert(node->els_req_cnt, NULL); in __ocs_d_wait_plogi_rsp_recvd_prli()
1137 node->els_req_cnt--; in __ocs_d_wait_plogi_rsp_recvd_prli()
1138 ocs_node_post_event(node, OCS_EVT_SHUTDOWN, NULL); in __ocs_d_wait_plogi_rsp_recvd_prli()
1173 ocs_node_hold_frames(node); in __ocs_d_wait_domain_attach()
1177 ocs_node_accept_frames(node); in __ocs_d_wait_domain_attach()
1181 ocs_assert(node->sport->domain->attached, NULL); in __ocs_d_wait_domain_attach()
1183 rc = ocs_node_attach(node); in __ocs_d_wait_domain_attach()
1184 ocs_node_transition(node, __ocs_d_wait_node_attach, NULL); in __ocs_d_wait_domain_attach()
1186 ocs_node_post_event(node, OCS_EVT_NODE_ATTACH_OK, NULL); in __ocs_d_wait_domain_attach()
1223 ocs_node_hold_frames(node); in __ocs_d_wait_topology_notify()
1227 ocs_node_accept_frames(node); in __ocs_d_wait_topology_notify()
1232 ocs_assert(!node->sport->domain->attached, NULL); in __ocs_d_wait_topology_notify()
1233 ocs_assert(node->send_ls_acc == OCS_NODE_SEND_LS_ACC_PLOGI, NULL); in __ocs_d_wait_topology_notify()
1234 node_printf(node, "topology notification, topology=%d\n", topology); in __ocs_d_wait_topology_notify()
1245 ocs_domain_attach(node->sport->domain, node->ls_acc_did); in __ocs_d_wait_topology_notify()
1252 ocs_node_transition(node, __ocs_d_wait_domain_attach, NULL); in __ocs_d_wait_topology_notify()
1256 ocs_assert(node->sport->domain->attached, NULL); in __ocs_d_wait_topology_notify()
1257 node_printf(node, "domain attach ok\n"); in __ocs_d_wait_topology_notify()
1259 rc = ocs_node_attach(node); in __ocs_d_wait_topology_notify()
1260 ocs_node_transition(node, __ocs_d_wait_node_attach, NULL); in __ocs_d_wait_topology_notify()
1262 ocs_node_post_event(node, OCS_EVT_NODE_ATTACH_OK, NULL); in __ocs_d_wait_topology_notify()
1293 ocs_node_hold_frames(node); in __ocs_d_wait_node_attach()
1297 ocs_node_accept_frames(node); in __ocs_d_wait_node_attach()
1301 node->attached = TRUE; in __ocs_d_wait_node_attach()
1302 switch (node->send_ls_acc) { in __ocs_d_wait_node_attach()
1306 ocs_send_plogi_acc(node->ls_acc_io, node->ls_acc_oxid, NULL, NULL); in __ocs_d_wait_node_attach()
1307 ocs_node_transition(node, __ocs_d_wait_plogi_acc_cmpl, NULL); in __ocs_d_wait_node_attach()
1308 node->send_ls_acc = OCS_NODE_SEND_LS_ACC_NONE; in __ocs_d_wait_node_attach()
1309 node->ls_acc_io = NULL; in __ocs_d_wait_node_attach()
1313 ocs_d_send_prli_rsp(node->ls_acc_io, node->ls_acc_oxid); in __ocs_d_wait_node_attach()
1314 node->send_ls_acc = OCS_NODE_SEND_LS_ACC_NONE; in __ocs_d_wait_node_attach()
1315 node->ls_acc_io = NULL; in __ocs_d_wait_node_attach()
1322 ocs_node_transition(node, __ocs_d_port_logged_in, NULL); in __ocs_d_wait_node_attach()
1329 node->attached = FALSE; in __ocs_d_wait_node_attach()
1330 node_printf(node, "node attach failed\n"); in __ocs_d_wait_node_attach()
1331 node->shutdown_reason = OCS_NODE_SHUTDOWN_DEFAULT; in __ocs_d_wait_node_attach()
1332 ocs_node_transition(node, __ocs_d_initiate_shutdown, NULL); in __ocs_d_wait_node_attach()
1337 node_printf(node, "%s received\n", ocs_sm_event_name(evt)); in __ocs_d_wait_node_attach()
1338 node->shutdown_reason = OCS_NODE_SHUTDOWN_DEFAULT; in __ocs_d_wait_node_attach()
1339 ocs_node_transition(node, __ocs_d_wait_attach_evt_shutdown, NULL); in __ocs_d_wait_node_attach()
1342 node_printf(node, "%s received\n", ocs_sm_event_name(evt)); in __ocs_d_wait_node_attach()
1343 node->shutdown_reason = OCS_NODE_SHUTDOWN_EXPLICIT_LOGO; in __ocs_d_wait_node_attach()
1344 ocs_node_transition(node, __ocs_d_wait_attach_evt_shutdown, NULL); in __ocs_d_wait_node_attach()
1347 node_printf(node, "%s received\n", ocs_sm_event_name(evt)); in __ocs_d_wait_node_attach()
1348 node->shutdown_reason = OCS_NODE_SHUTDOWN_IMPLICIT_LOGO; in __ocs_d_wait_node_attach()
1349 ocs_node_transition(node, __ocs_d_wait_attach_evt_shutdown, NULL); in __ocs_d_wait_node_attach()
1380 ocs_node_hold_frames(node); in __ocs_d_wait_attach_evt_shutdown()
1384 ocs_node_accept_frames(node); in __ocs_d_wait_attach_evt_shutdown()
1389 node->attached = TRUE; in __ocs_d_wait_attach_evt_shutdown()
1390 node_printf(node, "Attach evt=%s, proceed to shutdown\n", ocs_sm_event_name(evt)); in __ocs_d_wait_attach_evt_shutdown()
1391 ocs_node_transition(node, __ocs_d_initiate_shutdown, NULL); in __ocs_d_wait_attach_evt_shutdown()
1396 node->attached = FALSE; in __ocs_d_wait_attach_evt_shutdown()
1397 node_printf(node, "Attach evt=%s, proceed to shutdown\n", ocs_sm_event_name(evt)); in __ocs_d_wait_attach_evt_shutdown()
1398 ocs_node_transition(node, __ocs_d_initiate_shutdown, NULL); in __ocs_d_wait_attach_evt_shutdown()
1404 node->shutdown_reason = OCS_NODE_SHUTDOWN_DEFAULT; in __ocs_d_wait_attach_evt_shutdown()
1408 node_printf(node, "%s received\n", ocs_sm_event_name(evt)); in __ocs_d_wait_attach_evt_shutdown()
1445 if (node->sport->enable_ini && !FC_ADDR_IS_DOMAIN_CTRL(node->rnode.fc_id) in __ocs_d_port_logged_in()
1446 && !node->sent_prli) { in __ocs_d_port_logged_in()
1448 ocs_send_prli(node, OCS_FC_ELS_SEND_DEFAULT_TIMEOUT, OCS_FC_ELS_DEFAULT_RETRIES, NULL, NULL); in __ocs_d_port_logged_in()
1449 node->sent_prli = TRUE; in __ocs_d_port_logged_in()
1456 if (node->sport->enable_tgt) { in __ocs_d_port_logged_in()
1457 if (ocs_send_prlo(node, OCS_FC_ELS_SEND_DEFAULT_TIMEOUT, in __ocs_d_port_logged_in()
1459 ocs_node_transition(node, __ocs_d_wait_prlo_rsp, NULL); in __ocs_d_port_logged_in()
1470 ocs_process_prli_payload(node, cbdata->payload->dma.virt); in __ocs_d_port_logged_in()
1480 ocs_assert(node->els_req_cnt, NULL); in __ocs_d_port_logged_in()
1481 node->els_req_cnt--; in __ocs_d_port_logged_in()
1483 ocs_process_prli_payload(node, cbdata->els->els_rsp.virt); in __ocs_d_port_logged_in()
1484 ocs_node_transition(node, __ocs_d_device_ready, NULL); in __ocs_d_port_logged_in()
1493 ocs_assert(node->els_req_cnt, NULL); in __ocs_d_port_logged_in()
1494 node->els_req_cnt--; in __ocs_d_port_logged_in()
1495 ocs_node_post_event(node, OCS_EVT_SHUTDOWN, NULL); in __ocs_d_port_logged_in()
1506 ocs_assert(node->els_req_cnt, NULL); in __ocs_d_port_logged_in()
1507 node->els_req_cnt--; in __ocs_d_port_logged_in()
1516 ocs_assert(node->els_cmpl_cnt, NULL); in __ocs_d_port_logged_in()
1517 node->els_cmpl_cnt--; in __ocs_d_port_logged_in()
1524 ocs_node_save_sparms(node, cbdata->payload->dma.virt); in __ocs_d_port_logged_in()
1528 ocs_node_post_event(node, OCS_EVT_SHUTDOWN_IMPLICIT_LOGO, NULL); in __ocs_d_port_logged_in()
1535 node_printf(node, "%s received attached=%d\n", ocs_sm_event_name(evt), node->attached); in __ocs_d_port_logged_in()
1537 ocs_node_transition(node, __ocs_d_wait_logo_acc_cmpl, NULL); in __ocs_d_port_logged_in()
1572 ocs_node_hold_frames(node); in __ocs_d_wait_logo_acc_cmpl()
1576 ocs_node_accept_frames(node); in __ocs_d_wait_logo_acc_cmpl()
1582 ocs_assert(node->els_cmpl_cnt, NULL); in __ocs_d_wait_logo_acc_cmpl()
1583 node->els_cmpl_cnt--; in __ocs_d_wait_logo_acc_cmpl()
1584 ocs_node_post_event(node, OCS_EVT_SHUTDOWN_EXPLICIT_LOGO, NULL); in __ocs_d_wait_logo_acc_cmpl()
1617 node->fcp_enabled = TRUE; in __ocs_d_device_ready()
1618 if (node->init) { in __ocs_d_device_ready()
1619 device_printf(ocs->dev, "[%s] found (initiator) WWPN %s WWNN %s\n", node->display_name, in __ocs_d_device_ready()
1620 node->wwpn, node->wwnn); in __ocs_d_device_ready()
1621 if (node->sport->enable_tgt) in __ocs_d_device_ready()
1622 ocs_scsi_new_initiator(node); in __ocs_d_device_ready()
1624 if (node->targ) { in __ocs_d_device_ready()
1625 device_printf(ocs->dev, "[%s] found (target) WWPN %s WWNN %s\n", node->display_name, in __ocs_d_device_ready()
1626 node->wwpn, node->wwnn); in __ocs_d_device_ready()
1627 if (node->sport->enable_ini) in __ocs_d_device_ready()
1628 ocs_scsi_new_target(node); in __ocs_d_device_ready()
1633 node->fcp_enabled = FALSE; in __ocs_d_device_ready()
1639 ocs_node_save_sparms(node, cbdata->payload->dma.virt); in __ocs_d_device_ready()
1643 ocs_node_post_event(node, OCS_EVT_SHUTDOWN_IMPLICIT_LOGO, NULL); in __ocs_d_device_ready()
1657 ocs_process_prli_payload(node, cbdata->payload->dma.virt); in __ocs_d_device_ready()
1660 if (ocs->fc_type == node->fc_type) in __ocs_d_device_ready()
1684 node_printf(node, "%s received attached=%d\n", ocs_sm_event_name(evt), node->attached); in __ocs_d_device_ready()
1686 ocs_node_transition(node, __ocs_d_wait_logo_acc_cmpl, NULL); in __ocs_d_device_ready()
1714 if (node->sport->enable_rscn) { in __ocs_d_device_ready()
1715 ocs_node_transition(node, __ocs_d_device_gone, NULL); in __ocs_d_device_ready()
1721 ocs_assert(node->els_cmpl_cnt, NULL); in __ocs_d_device_ready()
1722 node->els_cmpl_cnt--; in __ocs_d_device_ready()
1727 ocs_assert(node->els_cmpl_cnt, NULL); in __ocs_d_device_ready()
1728 node->els_cmpl_cnt--; in __ocs_d_device_ready()
1729 node_printf(node, "Failed to send PRLI LS_ACC\n"); in __ocs_d_device_ready()
1768 device_printf(ocs->dev, "[%s] missing (%s) WWPN %s WWNN %s\n", node->display_name, in __ocs_d_device_gone()
1769 labels[(node->targ << 1) | (node->init)], node->wwpn, node->wwnn); in __ocs_d_device_gone()
1771 switch(ocs_node_get_enable(node)) { in __ocs_d_device_gone()
1775 rc = ocs_scsi_del_target(node, OCS_SCSI_TARGET_MISSING); in __ocs_d_device_gone()
1781 rc = ocs_scsi_del_initiator(node, OCS_SCSI_INITIATOR_MISSING); in __ocs_d_device_gone()
1785 rc = ocs_scsi_del_initiator(node, OCS_SCSI_INITIATOR_MISSING); in __ocs_d_device_gone()
1789 rc = ocs_scsi_del_target(node, OCS_SCSI_TARGET_MISSING); in __ocs_d_device_gone()
1793 rc = ocs_scsi_del_initiator(node, OCS_SCSI_INITIATOR_MISSING); in __ocs_d_device_gone()
1794 rc_2 = ocs_scsi_del_target(node, OCS_SCSI_TARGET_MISSING); in __ocs_d_device_gone()
1803 ocs_node_post_event(node, OCS_EVT_SHUTDOWN, NULL); in __ocs_d_device_gone()
1816 ocs_send_adisc(node, OCS_FC_ELS_SEND_DEFAULT_TIMEOUT, OCS_FC_ELS_DEFAULT_RETRIES, NULL, NULL); in __ocs_d_device_gone()
1817 ocs_node_transition(node, __ocs_d_wait_adisc_rsp, NULL); in __ocs_d_device_gone()
1823 ocs_node_save_sparms(node, cbdata->payload->dma.virt); in __ocs_d_device_gone()
1827 ocs_node_post_event(node, OCS_EVT_SHUTDOWN_IMPLICIT_LOGO, NULL); in __ocs_d_device_gone()
1835 node_printf(node, "FCP_CMND received, drop\n"); in __ocs_d_device_gone()
1841 node_printf(node, "%s received attached=%d\n", ocs_sm_event_name(evt), node->attached); in __ocs_d_device_gone()
1844 ocs_node_transition(node, __ocs_d_wait_logo_acc_cmpl, NULL); in __ocs_d_device_gone()
1882 ocs_assert(node->els_req_cnt, NULL); in __ocs_d_wait_adisc_rsp()
1883 node->els_req_cnt--; in __ocs_d_wait_adisc_rsp()
1884 ocs_node_transition(node, __ocs_d_device_ready, NULL); in __ocs_d_wait_adisc_rsp()
1894 ocs_assert(node->els_req_cnt, NULL); in __ocs_d_wait_adisc_rsp()
1895 node->els_req_cnt--; in __ocs_d_wait_adisc_rsp()
1897 ocs_node_post_event(node, OCS_EVT_SHUTDOWN_EXPLICIT_LOGO, NULL); in __ocs_d_wait_adisc_rsp()
1906 node_printf(node, "%s received attached=%d\n", ocs_sm_event_name(evt), node->attached); in __ocs_d_wait_adisc_rsp()
1908 ocs_node_transition(node, __ocs_d_wait_logo_acc_cmpl, NULL); in __ocs_d_wait_adisc_rsp()