rmpp_mad = (struct ib_rmpp_mad *)mad_send_wr->send_wr.wr.ud.mad_hdr; 
rmpp_mad = mad_send_wr->send_buf.mad; 
static int send_next_seg(struct ib_mad_send_wr_private *mad_send_wr){	struct ib_rmpp_mad *rmpp_mad;	int timeout;	u32 paylen;	rmpp_mad = (struct ib_rmpp_mad *)mad_send_wr->send_wr.wr.ud.mad_hdr;	ib_set_rmpp_flags(&rmpp_mad->rmpp_hdr, IB_MGMT_RMPP_FLAG_ACTIVE);	rmpp_mad->rmpp_hdr.seg_num = cpu_to_be32(mad_send_wr->seg_num);	if (mad_send_wr->seg_num == 1) {		rmpp_mad->rmpp_hdr.rmpp_rtime_flags |= IB_MGMT_RMPP_FLAG_FIRST;		paylen = mad_send_wr->total_seg * IB_MGMT_RMPP_DATA -			 mad_send_wr->pad;		rmpp_mad->rmpp_hdr.paylen_newwin = cpu_to_be32(paylen);		mad_send_wr->sg_list[0].length = sizeof(struct ib_rmpp_mad);	} else {		mad_send_wr->send_wr.num_sge = 2;		mad_send_wr->sg_list[0].length = mad_send_wr->data_offset;		mad_send_wr->sg_list[1].addr = get_seg_addr(mad_send_wr);		mad_send_wr->sg_list[1].length = sizeof(struct ib_rmpp_mad) -						 mad_send_wr->data_offset;		mad_send_wr->sg_list[1].lkey = mad_send_wr->sg_list[0].lkey;		rmpp_mad->rmpp_hdr.paylen_newwin = 0;	}	if (mad_send_wr->seg_num == mad_send_wr->total_seg) {		rmpp_mad->rmpp_hdr.rmpp_rtime_flags |= IB_MGMT_RMPP_FLAG_LAST;		paylen = IB_MGMT_RMPP_DATA - mad_send_wr->pad;		rmpp_mad->rmpp_hdr.paylen_newwin = cpu_to_be32(paylen);	}	/* 2 seconds for an ACK until we can find the packet lifetime */	timeout = mad_send_wr->send_wr.wr.ud.timeout_ms;	if (!timeout || timeout > 2000)		mad_send_wr->timeout = msecs_to_jiffies(2000);	mad_send_wr->seg_num++;	return ib_send_mad(mad_send_wr);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/34816ad98efe4d47ffd858a0345321f9d85d9420/mad_rmpp.c/clean/drivers/infiniband/core/mad_rmpp.c