[openib-general] [PATCH] osm: state manager return wrong signal
eitan at mellanox.co.il
eitan at mellanox.co.il
Mon Dec 18 12:15:19 PST 2006
From: Eitan Zahavi <eitan at sw053.yok.mtl.com>
diff --git a/osm/opensm/osm_state_mgr.c b/osm/opensm/osm_state_mgr.c
index 9eac038..94cc095 100644
--- a/osm/opensm/osm_state_mgr.c
+++ b/osm/opensm/osm_state_mgr.c
@@ -1853,6 +1853,7 @@ osm_state_mgr_process(
{
ib_api_status_t status;
osm_remote_sm_t *p_remote_sm;
+ osm_signal_t tmp_signal;
CL_ASSERT( p_mgr );
@@ -2075,11 +2076,10 @@ osm_state_mgr_process(
case OSM_SIGNAL_CHANGE_DETECTED:
/*
* Nothing to do here. One subnet change typcially
- * begets another....
+ * begets another.... But needs to wait for all transactions
*/
signal = OSM_SIGNAL_NONE;
break;
-
case OSM_SIGNAL_NO_PENDING_TRANSACTIONS:
/*
* A change was detected on the subnet.
@@ -2219,7 +2219,10 @@ osm_state_mgr_process(
signal = osm_pkey_mgr_process( p_mgr->p_subn->p_osm );
/* the returned signal is always DONE */
- signal = osm_qos_setup(p_mgr->p_subn->p_osm);
+ tmp_signal = osm_qos_setup(p_mgr->p_subn->p_osm);
+
+ if (tmp_signal == OSM_SIGNAL_DONE_PENDING)
+ signal = OSM_SIGNAL_DONE_PENDING;
/* try to restore SA DB (this should be before lid_mgr
because we may want to disable clients reregistration
--
1.4.4.1.GIT
More information about the general
mailing list