From 70dd4622f129cacba58ba67e545156bd083ae94c Mon Sep 17 00:00:00 2001 From: ftillier Date: Wed, 29 Mar 2006 15:29:14 +0000 Subject: [PATCH] [IBAL] Fix error handling in __proxy_mad_recv_cb to not release a spinlock that was not acquired. Signed-off-by: Yossi Leybovich (sleybo@mellanox.co.il) git-svn-id: svn://openib.tc.cornell.edu/gen1@258 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- trunk/core/al/kernel/al_proxy_subnet.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/trunk/core/al/kernel/al_proxy_subnet.c b/trunk/core/al/kernel/al_proxy_subnet.c index 0769c3fb..4d66ff89 100644 --- a/trunk/core/al/kernel/al_proxy_subnet.c +++ b/trunk/core/al/kernel/al_proxy_subnet.c @@ -697,7 +697,11 @@ __proxy_mad_recv_cb( * we're cleaning up the callback lists. */ if( !proxy_context_ref( p_context ) ) - goto proxy_mad_recv_cb_err; + { + proxy_put_mad( p_mad_element ); + CL_EXIT( ( AL_DBG_PROXY_CB | AL_DBG_MAD ), g_al_dbg_lvl ); + return; + } /* Insert an item to track the MAD until the user fetches it. */ cl_spinlock_acquire( &p_context->h_al->obj.lock ); -- 2.41.0