]> git.openfabrics.org - ~shefty/rdma-win.git/commitdiff
Refresh of dapl-clean-lock
authorSean Hefty <sean.hefty@intel.com>
Thu, 4 Feb 2010 22:47:20 +0000 (14:47 -0800)
committerSean Hefty <sean.hefty@intel.com>
Thu, 4 Feb 2010 22:47:20 +0000 (14:47 -0800)
trunk/ulp/dapl2/dapl/openib_cma/cm.c
trunk/ulp/dapl2/dapl/openib_ucm/cm.c

index b8f7198892fe24b2110a76bb081ceb32fd86d1ac..bb35c458c2285676499da6507f96e585e6dfadd4 100644 (file)
@@ -167,6 +167,7 @@ dp_ib_cm_handle_t dapls_ib_cm_create(DAPL_EP *ep)
 \r
        /* create CM_ID, bind to local device, create QP */\r
        if (rdma_create_id(g_cm_events, &cm_id, (void *)conn, RDMA_PS_TCP)) {\r
+               dapl_os_lock_destroy(&conn->lock);\r
                dapl_os_free(conn, sizeof(*conn));\r
                return NULL;\r
        }\r
@@ -221,6 +222,7 @@ void dapls_ib_cm_free(dp_ib_cm_handle_t conn, DAPL_EP *ep)
                rdma_destroy_id(conn->cm_id);\r
        }\r
 \r
+       dapl_os_lock_destroy(&conn->lock);\r
        dapl_os_free(conn, sizeof(*conn));\r
 }\r
 \r
@@ -686,6 +688,7 @@ dapls_ib_setup_conn_listener(IN DAPL_IA * ia_ptr,
        /* create CM_ID, bind to local device, create QP */\r
        if (rdma_create_id\r
            (g_cm_events, &conn->cm_id, (void *)conn, RDMA_PS_TCP)) {\r
+               dapl_os_lock_destroy(&conn->lock);\r
                dapl_os_free(conn, sizeof(*conn));\r
                return (dapl_convert_errno(errno, "setup_listener"));\r
        }\r
@@ -734,6 +737,7 @@ dapls_ib_setup_conn_listener(IN DAPL_IA * ia_ptr,
 \r
       bail:\r
        rdma_destroy_id(conn->cm_id);\r
+       dapl_os_lock_destroy(&conn->lock);\r
        dapl_os_free(conn, sizeof(*conn));\r
        return dat_status;\r
 }\r
index 100317bb85b7ee7821fb50f1fa1d27202c3c09fb..03fc75277bb994be192a2974163d26d428c39232 100644 (file)
@@ -728,6 +728,7 @@ void dapls_ib_cm_free(dp_ib_cm_handle_t cm, DAPL_EP *ep)
        /* cleanup, never made it to work queue */\r
        if (cm->state == DCM_INIT) {\r
                dapl_os_unlock(&cm->lock);\r
+               dapl_os_lock_destroy(&cm->lock);\r
                dapl_os_free(cm, sizeof(*cm));\r
                return;\r
        }\r
@@ -1701,6 +1702,7 @@ dapls_ib_remove_conn_listener(IN DAPL_IA *ia, IN DAPL_SP *sp)
                cm->state = DCM_DESTROY;\r
                dapl_os_unlock(&cm->lock);\r
                ucm_dequeue_listen(cm);\r
+               dapl_os_lock_destroy(&cm->lock);\r
                dapl_os_free(cm, sizeof(*cm));\r
        }\r
        return DAT_SUCCESS;\r
@@ -1981,6 +1983,7 @@ void cm_thread(void *arg)
                                dapl_llist_remove_entry(&hca->ib_trans.list,\r
                                                        (DAPL_LLIST_ENTRY *)&cm->entry);\r
                                dapl_os_unlock(&cm->lock);\r
+                               dapl_os_lock_destroy(&cm->lock);\r
                                dapl_os_free(cm, sizeof(*cm));\r
                                continue;\r
                        }\r
@@ -2052,6 +2055,7 @@ void cm_thread(void *arg)
                                        &hca->ib_trans.list,\r
                                        (DAPL_LLIST_ENTRY *)&cm->entry);\r
                                dapl_os_unlock(&cm->lock);\r
+                               dapl_os_lock_destroy(&cm->lock);\r
                                dapl_os_free(cm, sizeof(*cm));\r
                                continue;\r
                        }\r