ret = ib_send_mad(mad_send_wr); 
if (mad_send_wr->mad_agent_priv->agent.rmpp_version) { ret = ib_retry_rmpp(mad_send_wr); switch (ret) { case IB_RMPP_RESULT_UNHANDLED: ret = ib_send_mad(mad_send_wr); break; case IB_RMPP_RESULT_CONSUMED: ret = 0; break; default: ret = -ECOMM; break; } } else ret = ib_send_mad(mad_send_wr); 
static int retry_send(struct ib_mad_send_wr_private *mad_send_wr){	int ret;	if (!mad_send_wr->retries--)		return -ETIMEDOUT;	mad_send_wr->timeout = msecs_to_jiffies(mad_send_wr->send_wr.						wr.ud.timeout_ms);	ret = ib_send_mad(mad_send_wr);	if (!ret) {		mad_send_wr->refcount++;		list_add_tail(&mad_send_wr->agent_list,			      &mad_send_wr->mad_agent_priv->send_list);	}	return ret;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/fa619a77046bef30478697aba0553991033afb8e/mad.c/clean/drivers/infiniband/core/mad.c