]> git.openfabrics.org - ~shefty/rdma-win.git/commitdiff
[IBAL] IBAL currently blows away all CEPs from its 'destroying' callback. This patch...
authorleonidk <leonidk@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Wed, 2 Jul 2008 17:53:15 +0000 (17:53 +0000)
committerleonidk <leonidk@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Wed, 2 Jul 2008 17:53:15 +0000 (17:53 +0000)
Signed-off-by: Fab Tillier <ftillier@microsoft.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1328 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

trunk/core/al/al.c
trunk/core/al/al.h
trunk/core/al/kernel/al_mgr.c

index f1e648fe1d24651ef17b5cc18a671f58b1ef7ad5..db8c0e2e8fb6af19f5911388bd033a9351720dbd 100644 (file)
@@ -116,13 +116,18 @@ destroying_al(
        }\r
 \r
        cl_spinlock_release( &p_obj->lock );\r
+}\r
+\r
 \r
+void\r
+cleanup_al(\r
+       IN                              al_obj_t                                        *p_obj )\r
+{\r
        /* Cleanup any left-over connections. */\r
-       al_cep_cleanup_al( h_al );\r
+       al_cep_cleanup_al( PARENT_STRUCT( p_obj, ib_al_t, obj ) );\r
 }\r
 \r
 \r
-\r
 static void\r
 __free_mads(\r
        IN                              const   ib_al_handle_t          h_al )\r
index 07e402d97cc70455992083b8f9f51116894c512d..58da621229bdf64409f097a51885554ffc037bf3 100644 (file)
@@ -108,6 +108,11 @@ destroying_al(
        IN                              al_obj_t                                        *p_obj );\r
 \r
 \r
+void\r
+cleanup_al(\r
+       IN                              al_obj_t                                        *p_obj );\r
+\r
+\r
 void\r
 free_al(\r
        IN                              al_obj_t                                        *p_obj );\r
index 1c7ab569e527d6f3253e66ba33a562d4f93a9d00..885ead6bbc3bd2b03acc8246372250b8f01cf971 100644 (file)
@@ -414,7 +414,7 @@ ib_open_al(
 \r
        /* Initialize the base object. */\r
        status = init_al_obj( &h_al->obj, NULL, FALSE,\r
-               destroying_al, NULL, free_al );\r
+               destroying_al, cleanup_al, free_al );\r
        if( status != IB_SUCCESS )\r
        {\r
                free_al( &h_al->obj );\r