goto exit;\r
}\r
\r
+ cid = cl_atomic_xchg( &((al_conn_qp_t*)h_qp)->cid, AL_INVALID_CID );\r
+\r
+ if( cid != AL_INVALID_CID )\r
+ {\r
+ ref_al_obj( &h_qp->obj );\r
+ if( al_destroy_cep( qp_get_al( h_qp ), cid, deref_al_obj ) != IB_SUCCESS )\r
+ {\r
+ deref_al_obj( &h_qp->obj );\r
+ }\r
+ }\r
+\r
/* bring QP to error state */\r
cl_memclr( &qp_mod, sizeof(qp_mod) );\r
qp_mod.req_state = IB_QPS_ERROR;\r
/* Store the timestamp after which the QP exits timewait. */\r
h_qp->timewait = cl_get_time_stamp() + timewait_us;\r
\r
- cid = cl_atomic_xchg( &((al_conn_qp_t*)h_qp)->cid, AL_INVALID_CID );\r
-\r
- if( cid != AL_INVALID_CID )\r
- {\r
- ref_al_obj( &h_qp->obj );\r
- if( al_destroy_cep( qp_get_al( h_qp ), cid, deref_al_obj ) != IB_SUCCESS )\r
- {\r
- deref_al_obj( &h_qp->obj );\r
- }\r
- }\r
-\r
nt_status = STATUS_SUCCESS;\r
\r
exit:\r