rmpp_mad->rmpp_hdr.paylen_newwin = 0;
static int send_next_seg(struct ib_mad_send_wr_private *mad_send_wr){	struct ib_rmpp_mad *rmpp_mad;	int timeout;	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;		rmpp_mad->rmpp_hdr.paylen_newwin =			cpu_to_be32(mad_send_wr->total_seg *				    (sizeof(struct ib_rmpp_mad) -				       offsetof(struct ib_rmpp_mad, data)));		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;	}	if (mad_send_wr->seg_num == mad_send_wr->total_seg) {		rmpp_mad->rmpp_hdr.rmpp_rtime_flags |= IB_MGMT_RMPP_FLAG_LAST;		rmpp_mad->rmpp_hdr.paylen_newwin =			cpu_to_be32(sizeof(struct ib_rmpp_mad) -				    offsetof(struct ib_rmpp_mad, data) -				    mad_send_wr->pad);	}	/* 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);}