[ofa-general] [PATCH] opensm/sminfo: mutex cleanup fix
Sasha Khapyorsky
sashak at voltaire.com
Thu May 31 15:33:41 PDT 2007
This fixes mutex cleanups in SMInfo processor.
Signed-off-by: Sasha Khapyorsky <sashak at voltaire.com>
---
opensm/opensm/osm_sminfo_rcv.c | 12 +++++++-----
1 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/opensm/opensm/osm_sminfo_rcv.c b/opensm/opensm/osm_sminfo_rcv.c
index 99a716e..b26b6bf 100644
--- a/opensm/opensm/osm_sminfo_rcv.c
+++ b/opensm/opensm/osm_sminfo_rcv.c
@@ -617,7 +617,7 @@ __osm_sminfo_rcv_process_get_response(
osm_log( p_rcv->p_log, OSM_LOG_ERROR,
"__osm_sminfo_rcv_process_get_response: ERR 2F12: "
"No port object for this SM\n" );
- goto Exit;
+ goto _unlock_and_exit;
}
if( osm_port_get_guid( p_port ) != p_smi->guid )
@@ -629,7 +629,7 @@ __osm_sminfo_rcv_process_get_response(
", Received 0x%016" PRIx64 "\n",
cl_ntoh64( osm_port_get_guid( p_port ) ),
cl_ntoh64( p_smi->guid ) );
- goto Exit;
+ goto _unlock_and_exit;
}
if( port_guid == p_rcv->p_subn->sm_port_guid )
@@ -638,7 +638,7 @@ __osm_sminfo_rcv_process_get_response(
"__osm_sminfo_rcv_process_get_response: "
"Self query response received - SM port 0x%016" PRIx64 "\n",
cl_ntoh64( port_guid ) );
- goto Exit;
+ goto _unlock_and_exit;
}
p_sm = (osm_remote_sm_t*)cl_qmap_get( p_sm_tbl, port_guid );
@@ -650,7 +650,7 @@ __osm_sminfo_rcv_process_get_response(
osm_log( p_rcv->p_log, OSM_LOG_ERROR,
"__osm_sminfo_rcv_process_get_response: ERR 2F14: "
"Unable to allocate SM object\n" );
- goto Exit;
+ goto _unlock_and_exit;
}
osm_remote_sm_init( p_sm, p_port, p_smi );
@@ -668,7 +668,7 @@ __osm_sminfo_rcv_process_get_response(
process_get_sm_ret_val = __osm_sminfo_rcv_process_get_sm( p_rcv, p_sm );
- Exit:
+ _unlock_and_exit:
CL_PLOCK_RELEASE( p_rcv->p_lock );
/* If process_get_sm_ret_val != OSM_SIGNAL_NONE then we have to signal
@@ -676,6 +676,8 @@ __osm_sminfo_rcv_process_get_response(
if (process_get_sm_ret_val != OSM_SIGNAL_NONE)
osm_state_mgr_process( p_rcv->p_state_mgr,
process_get_sm_ret_val );
+
+ Exit:
OSM_LOG_EXIT( p_rcv->p_log );
}
--
1.5.2.171.gf509
More information about the general
mailing list