ib_mad_complete_send_wr(mad_send_wr, (struct ib_mad_send_wc *)wc); 
ib_mad_complete_send_wr(mad_send_wr, &mad_send_wc); 
static void ib_mad_send_done_handler(struct ib_mad_port_private *port_priv,				     struct ib_wc *wc){	struct ib_mad_send_wr_private	*mad_send_wr, *queued_send_wr;	struct ib_mad_list_head		*mad_list;	struct ib_mad_qp_info		*qp_info;	struct ib_mad_queue		*send_queue;	struct ib_send_wr		*bad_send_wr;	unsigned long flags;	int ret;	mad_list = (struct ib_mad_list_head *)(unsigned long)wc->wr_id;	mad_send_wr = container_of(mad_list, struct ib_mad_send_wr_private,				   mad_list);	send_queue = mad_list->mad_queue;	qp_info = send_queue->qp_info;retry:	queued_send_wr = NULL;	spin_lock_irqsave(&send_queue->lock, flags);	list_del(&mad_list->list);	/* Move queued send to the send queue */	if (send_queue->count-- > send_queue->max_active) {		mad_list = container_of(qp_info->overflow_list.next,					struct ib_mad_list_head, list);		queued_send_wr = container_of(mad_list,					struct ib_mad_send_wr_private,					mad_list);		list_del(&mad_list->list);		list_add_tail(&mad_list->list, &send_queue->list);	}	spin_unlock_irqrestore(&send_queue->lock, flags);	/* Restore client wr_id in WC and complete send */	wc->wr_id = mad_send_wr->wr_id;	if (atomic_read(&qp_info->snoop_count))		snoop_send(qp_info, &mad_send_wr->send_wr,			   (struct ib_mad_send_wc *)wc,			   IB_MAD_SNOOP_SEND_COMPLETIONS);	ib_mad_complete_send_wr(mad_send_wr, (struct ib_mad_send_wc *)wc);	if (queued_send_wr) {		ret = ib_post_send(qp_info->qp, &queued_send_wr->send_wr,				&bad_send_wr);		if (ret) {			printk(KERN_ERR PFX "ib_post_send failed: %d\n", ret);			mad_send_wr = queued_send_wr;			wc->status = IB_WC_LOC_QP_OP_ERR;			goto retry;		}	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/34816ad98efe4d47ffd858a0345321f9d85d9420/mad.c/clean/drivers/infiniband/core/mad.c