[openib-general] [PATCH] osm: state manager return wrong signal
Hal Rosenstock
halr at voltaire.com
Mon Dec 18 13:47:47 PST 2006
On Mon, 2006-12-18 at 15:15, eitan at mellanox.co.il wrote:
> From: Eitan Zahavi <eitan at sw053.yok.mtl.com>
See below comments.
> 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
This was already done as part of your original osm_state_mgr.c patch.
> */
> signal = OSM_SIGNAL_NONE;
This was eliminated as part of your original osm_state_mgr.c patch.
Should it be there ? If so, this isn't indicated as a +.
-- Hal
> 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
More information about the general
mailing list