static int ib_send_mad(struct ib_mad_send_wr_private *mad_send_wr) 
int ib_send_mad(struct ib_mad_send_wr_private *mad_send_wr) 
static int ib_send_mad(struct ib_mad_send_wr_private *mad_send_wr){	struct ib_mad_qp_info *qp_info;	struct ib_send_wr *bad_send_wr;	struct list_head *list;	unsigned long flags;	int ret;	/* Set WR ID to find mad_send_wr upon completion */	qp_info = mad_send_wr->mad_agent_priv->qp_info;	mad_send_wr->send_wr.wr_id = (unsigned long)&mad_send_wr->mad_list;	mad_send_wr->mad_list.mad_queue = &qp_info->send_queue;	spin_lock_irqsave(&qp_info->send_queue.lock, flags);	if (qp_info->send_queue.count < qp_info->send_queue.max_active) {		ret = ib_post_send(mad_send_wr->mad_agent_priv->agent.qp,				   &mad_send_wr->send_wr, &bad_send_wr);		list = &qp_info->send_queue.list;	} else {		ret = 0;		list = &qp_info->overflow_list;	}	if (!ret) {		qp_info->send_queue.count++;		list_add_tail(&mad_send_wr->mad_list.list, list);	}	spin_unlock_irqrestore(&qp_info->send_queue.lock, flags);	return ret;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/fa619a77046bef30478697aba0553991033afb8e/mad.c/clean/drivers/infiniband/core/mad.c