diff mbox

[1/4] common: return appropriate handles with affiliated EP and EVD async events

Message ID 1418403043-2221-2-git-send-email-arlin.r.davis@intel.com (mailing list archive)
State Not Applicable
Headers show

Commit Message

Arlin Davis Dec. 12, 2014, 4:50 p.m. UTC
From: Arlin Davis <arlin.r.davis@intel.com>

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
---
 dapl/common/dapl_evd_cq_async_error_callb.c |    4 +--
 dapl/common/dapl_evd_qp_async_error_callb.c |   33 +--------------------------
 2 files changed, 2 insertions(+), 35 deletions(-)
diff mbox

Patch

diff --git a/dapl/common/dapl_evd_cq_async_error_callb.c b/dapl/common/dapl_evd_cq_async_error_callb.c
index 2bd2a93..2edbce0 100644
--- a/dapl/common/dapl_evd_cq_async_error_callb.c
+++ b/dapl/common/dapl_evd_cq_async_error_callb.c
@@ -77,9 +77,7 @@  dapl_evd_cq_async_error_callback(IN ib_hca_handle_t ib_hca_handle,
 
 	dat_status = dapls_evd_post_async_error_event(async_evd,
 						      DAT_ASYNC_ERROR_EVD_OVERFLOW,
-						      (DAT_IA_HANDLE)
-						      async_evd->header.
-						      owner_ia);
+						      (DAT_HANDLE) evd);
 
 	if (dat_status != DAT_SUCCESS) {
 		dapl_os_panic("async EVD overflow\n");
diff --git a/dapl/common/dapl_evd_qp_async_error_callb.c b/dapl/common/dapl_evd_qp_async_error_callb.c
index bc05d0f..6ea9edb 100644
--- a/dapl/common/dapl_evd_qp_async_error_callb.c
+++ b/dapl/common/dapl_evd_qp_async_error_callb.c
@@ -60,36 +60,6 @@  dapl_evd_qp_async_error_callback(IN ib_hca_handle_t ib_hca_handle,
 				 IN ib_error_record_t * cause_ptr,
 				 IN void *context)
 {
-	/*
-	 * This is an affiliated error and hence should be able to 
-	 * supply us with exact information on the error type and QP. 
-	 *
-	 * However the Mellanox and IBM APIs for registering this callback 
-	 * are different. 
-	 *
-	 * The IBM API allows consumers to register the callback with 
-	 *
-	 * ib_int32_t 
-	 * ib_set_qp_async_error_eh_us (
-	 *          ib_hca_handle_t         hca_handle,
-	 *          ib_qp_async_handler_t   handler )
-	 *
-	 * Notice that this function does not take a context. The context is 
-	 * specified per QP in the call to ib_qp_create_us().
-	 *
-	 * In contrast the Mellanox API requires that the context be specified 
-	 * when the funciton is registered:
-	 *
-	 * VAPI_ret_t 
-	 * VAPI_set_async_event_handler (
-	 *          IN VAPI_hca_hndl_t              hca_hndl,
-	 *          IN VAPI_async_event_handler_t   handler,
-	 *          IN void*                        private_data )
-	 *
-	 * Therefore we always specify the context as the asyncronous EVD 
-	 * to be compatible with both APIs.
-	 */
-
 	DAPL_IA *ia_ptr;
 	DAPL_EP *ep_ptr;
 	DAPL_EVD *async_evd;
@@ -138,8 +108,7 @@  dapl_evd_qp_async_error_callback(IN ib_hca_handle_t ib_hca_handle,
 		 */
 		(void)dapls_evd_post_async_error_event(async_evd,
 						       async_event,
-						       async_evd->header.
-						       owner_ia);
+						       (DAT_HANDLE) ep_ptr);
 	}
 	dapl_dbg_log(DAPL_DBG_TYPE_CALLBACK | DAPL_DBG_TYPE_EXCEPTION,
 		     "%s() returns\n", __FUNCTION__);