aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ocs_fc
diff options
context:
space:
mode:
authorRam Kishore Vegesna <ram@FreeBSD.org>2022-03-04 14:40:32 +0000
committerRam Kishore Vegesna <ram@FreeBSD.org>2022-03-04 14:53:38 +0000
commit625a8bfb047a94459b4ab41f08fe5a2c23694039 (patch)
treeadefc2048618256effad5e06aff88cd8a8e6848e /sys/dev/ocs_fc
parent5d3007c1a26966f6c61ba50bea180c2f89f32ff8 (diff)
downloadsrc-625a8bfb047a94459b4ab41f08fe5a2c23694039.tar.gz
src-625a8bfb047a94459b4ab41f08fe5a2c23694039.zip
Diffstat (limited to 'sys/dev/ocs_fc')
-rw-r--r--sys/dev/ocs_fc/ocs_fabric.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/sys/dev/ocs_fc/ocs_fabric.c b/sys/dev/ocs_fc/ocs_fabric.c
index 70b240f5de13..4fe5017e90e5 100644
--- a/sys/dev/ocs_fc/ocs_fabric.c
+++ b/sys/dev/ocs_fc/ocs_fabric.c
@@ -230,18 +230,14 @@ __ocs_fabric_flogi_wait_rsp(ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
}
ocs_assert(node->els_req_cnt, NULL);
node->els_req_cnt--;
- if (node->sport->domain->attached) {
- node_printf(node, "FLOGI failed, Domain already attached\n");
- if (node->sport->p2p_winner) {
- node_printf(node, "p2p winner, domain already attached\n");
- ocs_node_post_event(node, OCS_EVT_DOMAIN_ATTACH_OK, NULL);
- } else {
- node_printf(node, "peer p2p winner, shutdown node\n");
- node->shutdown_reason = OCS_NODE_SHUTDOWN_DEFAULT;
- ocs_fabric_initiate_shutdown(node);
- }
+
+ if (node->sport->topology == OCS_SPORT_TOPOLOGY_P2P && !node->sport->p2p_winner) {
+ node_printf(node, "FLOGI failed, peer p2p winner, shutdown node\n");
+ node->shutdown_reason = OCS_NODE_SHUTDOWN_DEFAULT;
+ ocs_fabric_initiate_shutdown(node);
break;
}
+
node_printf(node, "FLOGI failed evt=%s, shutting down sport [%s]\n", ocs_sm_event_name(evt),
sport->display_name);
ocs_sm_post_event(&sport->sm, OCS_EVT_SHUTDOWN, NULL);