The branch main has been updated by ram:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=625a8bfb047a94459b4ab41f08fe5a2c23694039

commit 625a8bfb047a94459b4ab41f08fe5a2c23694039
Author:     Ram Kishore Vegesna <r...@freebsd.org>
AuthorDate: 2022-03-04 14:40:32 +0000
Commit:     Ram Kishore Vegesna <r...@freebsd.org>
CommitDate: 2022-03-04 14:53:38 +0000

    ocs_fc: Ignore flogi failure when the remote node is pt2pt winner
    
    Updated commit 79c56c9af583, do not proceed with discovery
    if flogi fails in pt2pt winner case.
    
    MFC after: 3 days
---
 sys/dev/ocs_fc/ocs_fabric.c | 16 ++++++----------
 1 file 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);

Reply via email to