diff options
Diffstat (limited to 'drivers/infiniband/hw/cxgb4/cm.c')
| -rw-r--r-- | drivers/infiniband/hw/cxgb4/cm.c | 12 | 
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c index b18870c455ad..51f42061dae9 100644 --- a/drivers/infiniband/hw/cxgb4/cm.c +++ b/drivers/infiniband/hw/cxgb4/cm.c @@ -548,8 +548,8 @@ static void send_mpa_req(struct c4iw_ep *ep, struct sk_buff *skb,  	}  	if (mpa_rev_to_use == 2) { -		mpa->private_data_size += -			htons(sizeof(struct mpa_v2_conn_params)); +		mpa->private_data_size = htons(ntohs(mpa->private_data_size) + +					       sizeof (struct mpa_v2_conn_params));  		mpa_v2_params.ird = htons((u16)ep->ird);  		mpa_v2_params.ord = htons((u16)ep->ord); @@ -635,8 +635,8 @@ static int send_mpa_reject(struct c4iw_ep *ep, const void *pdata, u8 plen)  	if (ep->mpa_attr.version == 2 && ep->mpa_attr.enhanced_rdma_conn) {  		mpa->flags |= MPA_ENHANCED_RDMA_CONN; -		mpa->private_data_size += -			htons(sizeof(struct mpa_v2_conn_params)); +		mpa->private_data_size = htons(ntohs(mpa->private_data_size) + +					       sizeof (struct mpa_v2_conn_params));  		mpa_v2_params.ird = htons(((u16)ep->ird) |  					  (peer2peer ? MPA_V2_PEER2PEER_MODEL :  					   0)); @@ -715,8 +715,8 @@ static int send_mpa_reply(struct c4iw_ep *ep, const void *pdata, u8 plen)  	if (ep->mpa_attr.version == 2 && ep->mpa_attr.enhanced_rdma_conn) {  		mpa->flags |= MPA_ENHANCED_RDMA_CONN; -		mpa->private_data_size += -			htons(sizeof(struct mpa_v2_conn_params)); +		mpa->private_data_size = htons(ntohs(mpa->private_data_size) + +					       sizeof (struct mpa_v2_conn_params));  		mpa_v2_params.ird = htons((u16)ep->ird);  		mpa_v2_params.ord = htons((u16)ep->ord);  		if (peer2peer && (ep->mpa_attr.p2p_type !=  | 
