\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
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
/* 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
\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
/* 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
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
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
&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