@@ -311,6 +311,9 @@ DAT_RETURN dapls_ib_open_hca(IN IB_HCA_NAME hca_name,
if ((dapl_os_lock_init(&hca_ptr->ib_trans.plock)) != DAT_SUCCESS)
goto bail;
+ if ((dapl_os_lock_init(&hca_ptr->ib_trans.ilock)) != DAT_SUCCESS)
+ goto bail;
+
/* EVD events without direct CQ channels, CNO support */
hca_ptr->ib_trans.ib_cq =
ibv_create_comp_channel(hca_ptr->ib_hca_handle);
@@ -367,11 +370,11 @@ done:
&hca_ptr->ib_trans.addr,
sizeof(union dcm_addr));
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ dapl_log(DAPL_DBG_TYPE_UTIL,
"%s open: dev %s port %d, GID %s, LID %x qpn %x sl %d\n",
PROVIDER_NAME, hca_name, hca_ptr->port_num,
inet_ntop(AF_INET6, &hca_ptr->ib_trans.addr.ib.gid,
- gid_str, sizeof(gid_str)),
+ gid_str, sizeof(gid_str)),
ntohs(ucm_ia->ib.lid), ntohl(ucm_ia->ib.qpn),
ucm_ia->ib.sl, ucm_ia->ib.qp_type);
@@ -428,6 +431,7 @@ DAT_RETURN dapls_ib_close_hca(IN DAPL_HCA * hca_ptr)
dapl_os_lock_destroy(&hca_ptr->ib_trans.lock);
dapl_os_lock_destroy(&hca_ptr->ib_trans.llock);
+ dapl_os_lock_destroy(&hca_ptr->ib_trans.ilock);
destroy_os_signal(hca_ptr);
ucm_service_destroy(hca_ptr);
done:
@@ -454,7 +458,7 @@ done:
static void ucm_service_destroy(IN DAPL_HCA *hca) {
ib_hca_transport_t *tp = &hca->ib_trans;
- int msg_size = sizeof(ib_cm_msg_t);
+ int i, msg_size = sizeof(ib_cm_msg_t);
if (tp->mr_sbuf)
ibv_dereg_mr(tp->mr_sbuf);
@@ -475,26 +479,32 @@ static void ucm_service_destroy(IN DAPL_HCA *hca)