* void
*
*/
+#if defined(_WIN32) || defined(_WIN64)
+void
+dapls_ib_reinit_ep (
+ IN DAPL_EP *ep_ptr)
+{
+ /* work around bug in low level driver - 3/24/09 */
+ /* RTS -> RESET -> INIT -> ERROR QP transition crashes system */
+ if (ep_ptr->qp_handle != IB_INVALID_HANDLE) {
+ dapls_ib_qp_free(ep_ptr->header.owner_ia, ep_ptr);
+ dapls_ib_qp_alloc(ep_ptr->header.owner_ia, ep_ptr, ep_ptr);
+ }
+}
+#else // _WIN32 || _WIN64
void
dapls_ib_reinit_ep (
IN DAPL_EP *ep_ptr)
dapls_modify_qp_state(ep_ptr->qp_handle, IBV_QPS_INIT, 0);
}
}
+#endif // _WIN32 || _WIN64
/*
* Generic QP modify for init, reset, error, RTS, RTR