> + if (ret) { > + cm_issue_rej(work->port, work->mad_recv_wc, IB_CM_INVALID_GID, > + CM_MSG_RESPONSE_REQ, NULL, 0); > + reject = 0; > goto error3; > + } This seems rather awkward -- send a REJ and then set reject to 0? Maybe it would be better if cm_destroy_id() took an actual reject code rather than just a flag? - R.