ret = ib_post_send_mad(&agent->agent, &msg->send_wr, &bad_send_wr); if (ret) free_msg(msg); 
ret = ib_post_send_mad(msg, NULL); if (ret) { ib_destroy_ah(msg->ah); ib_free_send_mad(msg); } 
static void nack_recv(struct ib_mad_agent_private *agent,		      struct ib_mad_recv_wc *recv_wc, u8 rmpp_status){	struct ib_mad_send_buf *msg;	struct ib_rmpp_mad *rmpp_mad;	struct ib_send_wr *bad_send_wr;	int ret;	ret = alloc_response_msg(&agent->agent, recv_wc, &msg);	if (ret)		return;	rmpp_mad = (struct ib_rmpp_mad *) msg->mad;	memcpy(rmpp_mad, recv_wc->recv_buf.mad,	       data_offset(recv_wc->recv_buf.mad->mad_hdr.mgmt_class));	rmpp_mad->mad_hdr.method ^= IB_MGMT_METHOD_RESP;	rmpp_mad->rmpp_hdr.rmpp_version = IB_MGMT_RMPP_VERSION;	rmpp_mad->rmpp_hdr.rmpp_type = IB_MGMT_RMPP_TYPE_ABORT;	ib_set_rmpp_flags(&rmpp_mad->rmpp_hdr, IB_MGMT_RMPP_FLAG_ACTIVE);	rmpp_mad->rmpp_hdr.rmpp_status = rmpp_status;	rmpp_mad->rmpp_hdr.seg_num = 0;	rmpp_mad->rmpp_hdr.paylen_newwin = 0;	ret = ib_post_send_mad(&agent->agent, &msg->send_wr, &bad_send_wr);	if (ret)		free_msg(msg);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/34816ad98efe4d47ffd858a0345321f9d85d9420/mad_rmpp.c/clean/drivers/infiniband/core/mad_rmpp.c