Cleanup osm_sweep_fail_ctrl - just similar to other controllers.

Signed-off-by: Sasha Khapyorsky <[EMAIL PROTECTED]>
---
 opensm/include/opensm/osm_sm.h |    3 +--
 opensm/opensm/Makefile.am      |    4 +---
 opensm/opensm/osm_sm.c         |   17 +++++++++++++----
 3 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/opensm/include/opensm/osm_sm.h b/opensm/include/opensm/osm_sm.h
index ba18b2e..f44f8a2 100644
--- a/opensm/include/opensm/osm_sm.h
+++ b/opensm/include/opensm/osm_sm.h
@@ -58,7 +58,6 @@
 #include <opensm/osm_sm_mad_ctrl.h>
 #include <opensm/osm_lid_mgr.h>
 #include <opensm/osm_ucast_mgr.h>
-#include <opensm/osm_sweep_fail_ctrl.h>
 #include <opensm/osm_port.h>
 #include <opensm/osm_db.h>
 #include <opensm/osm_remote_sm.h>
@@ -131,7 +130,7 @@ typedef struct osm_sm {
        osm_sm_mad_ctrl_t mad_ctrl;
        osm_lid_mgr_t lid_mgr;
        osm_ucast_mgr_t ucast_mgr;
-       osm_sweep_fail_ctrl_t sweep_fail_ctrl;
+       cl_disp_reg_handle_t sweep_fail_disp_h;
        cl_disp_reg_handle_t ni_disp_h;
        cl_disp_reg_handle_t pi_disp_h;
        cl_disp_reg_handle_t nd_disp_h;
diff --git a/opensm/opensm/Makefile.am b/opensm/opensm/Makefile.am
index 0974cac..f5e752f 100644
--- a/opensm/opensm/Makefile.am
+++ b/opensm/opensm/Makefile.am
@@ -52,8 +52,7 @@ opensm_SOURCES = main.c osm_console_io.c osm_console.c 
osm_db_files.c \
                 osm_sa_sw_info_record.c osm_service.c \
                 osm_slvl_map_rcv.c osm_sm.c osm_sminfo_rcv.c \
                 osm_sm_mad_ctrl.c osm_sm_state_mgr.c osm_state_mgr.c \
-                osm_subnet.c \
-                osm_sweep_fail_ctrl.c osm_sw_info_rcv.c osm_switch.c \
+                osm_subnet.c osm_sw_info_rcv.c osm_switch.c \
                 osm_prtn.c osm_prtn_config.c osm_qos.c osm_router.c \
                 osm_trap_rcv.c osm_ucast_mgr.c osm_ucast_updn.c \
                 osm_ucast_lash.c osm_ucast_file.c osm_ucast_ftree.c \
@@ -138,7 +137,6 @@ opensminclude_HEADERS = \
        $(srcdir)/../include/opensm/st.h \
        $(srcdir)/../include/opensm/osm_stats.h \
        $(srcdir)/../include/opensm/osm_subnet.h \
-       $(srcdir)/../include/opensm/osm_sweep_fail_ctrl.h \
        $(srcdir)/../include/opensm/osm_switch.h \
        $(srcdir)/../include/opensm/osm_ucast_mgr.h \
        $(srcdir)/../include/opensm/osm_vl15intf.h \
diff --git a/opensm/opensm/osm_sm.c b/opensm/opensm/osm_sm.c
index 3548935..98d0b1b 100644
--- a/opensm/opensm/osm_sm.c
+++ b/opensm/opensm/osm_sm.c
@@ -144,6 +144,14 @@ static void sm_sweep(void *arg)
        cl_timer_start(&sm->sweep_timer, sm->p_subn->opt.sweep_interval * 1000);
 }
 
+static void sweep_fail_process(IN void *context, IN void *p_data)
+{
+       osm_sm_t *sm = context;
+
+       OSM_LOG(sm->p_log, OSM_LOG_DEBUG, "light sweep failed\n");
+       sm->p_subn->force_heavy_sweep = TRUE;
+}
+
 /**********************************************************************
  **********************************************************************/
 void osm_sm_construct(IN osm_sm_t * const p_sm)
@@ -162,7 +170,6 @@ void osm_sm_construct(IN osm_sm_t * const p_sm)
        osm_sm_mad_ctrl_construct(&p_sm->mad_ctrl);
        osm_lid_mgr_construct(&p_sm->lid_mgr);
        osm_ucast_mgr_construct(&p_sm->ucast_mgr);
-       osm_sweep_fail_ctrl_construct(&p_sm->sweep_fail_ctrl);
 }
 
 /**********************************************************************
@@ -209,7 +216,7 @@ void osm_sm_shutdown(IN osm_sm_t * const p_sm)
        cl_disp_unregister(p_sm->slvl_disp_h);
        cl_disp_unregister(p_sm->vla_disp_h);
        cl_disp_unregister(p_sm->pkey_disp_h);
-       osm_sweep_fail_ctrl_destroy(&p_sm->sweep_fail_ctrl);
+       cl_disp_unregister(p_sm->sweep_fail_disp_h);
 
        OSM_LOG_EXIT(p_sm->p_log);
 }
@@ -312,8 +319,10 @@ osm_sm_init(IN osm_sm_t * const p_sm,
        if (status != IB_SUCCESS)
                goto Exit;
 
-       status = osm_sweep_fail_ctrl_init(&p_sm->sweep_fail_ctrl, p_sm);
-       if (status != IB_SUCCESS)
+       p_sm->sweep_fail_disp_h = cl_disp_register(p_disp,
+                                                  OSM_MSG_LIGHT_SWEEP_FAIL,
+                                                  sweep_fail_process, p_sm);
+       if (p_sm->sweep_fail_disp_h == CL_DISP_INVALID_HANDLE)
                goto Exit;
 
        p_sm->ni_disp_h = cl_disp_register(p_disp, OSM_MSG_MAD_NODE_INFO,
-- 
1.5.4.rc2.60.gb2e62

_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to