{\r
DAPL_EP *ep_ptr;\r
ib_qp_handle_t qp_ptr;\r
- DAPL_COOKIE *cookie;\r
+ DAPL_COOKIE *cookie=NULL;\r
DAT_RETURN dat_status = DAT_SUCCESS;\r
\r
dapl_dbg_log(DAPL_DBG_TYPE_API,\r
/*\r
* Synchronization ok since this buffer is only used for send\r
* requests, which aren't allowed to race with each other.\r
- * only if completion is expected\r
*/\r
- if (!(DAT_COMPLETION_SUPPRESS_FLAG & flags)) {\r
+ dat_status = dapls_dto_cookie_alloc(\r
+ &ep_ptr->req_buffer,\r
+ DAPL_DTO_TYPE_EXTENSION,\r
+ user_cookie,\r
+ &cookie );\r
\r
- dat_status = dapls_dto_cookie_alloc(\r
- &ep_ptr->req_buffer,\r
- DAPL_DTO_TYPE_EXTENSION,\r
- user_cookie,\r
- &cookie );\r
-\r
- if ( dat_status != DAT_SUCCESS )\r
- {\r
+ if ( dat_status != DAT_SUCCESS )\r
+ {\r
#ifdef DAPL_DBG\r
- dapl_dbg_log(DAPL_DBG_TYPE_ERR,\r
- "%s() cookie alloc faulure %x\n",\r
- __FUNCTION__,dat_status);\r
+ dapl_dbg_log(DAPL_DBG_TYPE_ERR,"%s() cookie alloc faulure %x\n",\r
+ __FUNCTION__,dat_status);\r
#endif\r
- goto bail;\r
- }\r
- \r
- /*\r
- * Take reference before posting to avoid race conditions with\r
- * completions\r
- */\r
- dapl_os_atomic_inc(&ep_ptr->req_count);\r
+ goto bail;\r
}\r
+ \r
+ /*\r
+ * Take reference before posting to avoid race conditions with\r
+ * completions\r
+ */\r
+ dapl_os_atomic_inc(&ep_ptr->req_count);\r
\r
/*\r
* Invoke provider specific routine to post DTO\r
\r
if (dat_status != DAT_SUCCESS)\r
{\r
- if ( cookie != NULL )\r
- {\r
- dapl_os_atomic_dec(&ep_ptr->req_count);\r
- dapls_cookie_dealloc(&ep_ptr->req_buffer, cookie);\r
+ dapl_os_atomic_dec(&ep_ptr->req_count);\r
+ dapls_cookie_dealloc(&ep_ptr->req_buffer, cookie);\r
#ifdef DAPL_DBG\r
- dapl_dbg_log(DAPL_DBG_TYPE_ERR,\r
- "%s() post_ex_send err %d @ line %d\n",\r
- __FUNCTION__,dat_status,__LINE__);\r
+ dapl_dbg_log(DAPL_DBG_TYPE_ERR,\r
+ "%s() post_ex_send err %d @ line %d\n",\r
+ __FUNCTION__,dat_status,__LINE__);\r
#endif\r
- }\r
}\r
\r
bail:\r