@@ -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");
@@ -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__);