]> git.openfabrics.org - ~shefty/rdma-win.git/commitdiff
[IBAL] Fix error handling in __proxy_mad_recv_cb to not release a spinlock
authorftillier <ftillier@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Wed, 29 Mar 2006 15:29:14 +0000 (15:29 +0000)
committerftillier <ftillier@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Wed, 29 Mar 2006 15:29:14 +0000 (15:29 +0000)
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

index 0769c3fb9be8b2fada160a70ae8afe11ba1a9db2..4d66ff89a96d2af6d572ae0d7ca2280a96453630 100644 (file)
@@ -697,7 +697,11 @@ __proxy_mad_recv_cb(
         * we're cleaning up the callback lists.\r
         */\r
        if( !proxy_context_ref( p_context ) )\r
-               goto proxy_mad_recv_cb_err;\r
+       {\r
+               proxy_put_mad( p_mad_element );\r
+               CL_EXIT( ( AL_DBG_PROXY_CB | AL_DBG_MAD ), g_al_dbg_lvl );\r
+               return;\r
+       }\r
 \r
        /* Insert an item to track the MAD until the user fetches it. */\r
        cl_spinlock_acquire( &p_context->h_al->obj.lock );\r