From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id A4EEA10B78 for ; Wed, 21 Dec 2016 10:47:05 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from shahafs@mellanox.com) with ESMTPS (AES256-SHA encrypted); 21 Dec 2016 11:47:01 +0200 Received: from arch010.mtl.labs.mlnx (arch010.mtl.labs.mlnx [10.7.12.210]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id uBL9l1eg003793; Wed, 21 Dec 2016 11:47:01 +0200 Received: from arch010.mtl.labs.mlnx (localhost [127.0.0.1]) by arch010.mtl.labs.mlnx (8.14.7/8.14.7) with ESMTP id uBL8pCpL045048; Wed, 21 Dec 2016 10:51:12 +0200 Received: (from root@localhost) by arch010.mtl.labs.mlnx (8.14.7/8.14.7/Submit) id uBL8pB8G045046; Wed, 21 Dec 2016 10:51:11 +0200 From: shahafs To: shahafs@mellanox.com Cc: stable@dpdk.org Date: Wed, 21 Dec 2016 10:51:11 +0200 Message-Id: <1482310271-45009-1-git-send-email-shahafs@mellanox.com> X-Mailer: git-send-email 1.8.3.1 Subject: [dpdk-stable] [PATCH] net/mlx5: fix send for multi segment packet X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Dec 2016 09:47:06 -0000 Fixes: 2a66cf378954 ("net/mlx5: support inline send") CC: stable@dpdk.org Signed-off-by: shahafs --- drivers/net/mlx5/mlx5_rxtx.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c index b542e76..8b54651 100644 --- a/drivers/net/mlx5/mlx5_rxtx.c +++ b/drivers/net/mlx5/mlx5_rxtx.c @@ -477,7 +477,7 @@ assert(addr <= addr_end); } /* - * 2 DWORDs consumed by the WQE header + 1 DSEG + + * 2 DWORDs consumed by the WQE header + ETH segment + * the size of the inline part of the packet. */ ds = 2 + MLX5_WQE_DS(pkt_inline_sz - 2); @@ -492,6 +492,10 @@ } else if (!segs_n) { goto next_pkt; } else { + /* dseg will be advance as part of next_seg*/ + dseg = (volatile rte_v128u32_t *) + ((uintptr_t)wqe + + ((ds-1) * MLX5_WQE_DWORD_SIZE)); goto next_seg; } } else { -- 1.8.3.1