[dpdk-stable] patch 'net/octeontx: fix packet corruption on Tx' has been queued to LTS release 17.11.5

Yongseok Koh yskoh at mellanox.com
Fri Jan 11 11:31:24 CET 2019


Hi,

FYI, your patch has been queued to LTS release 17.11.5

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 01/13/19. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Yongseok

---
>From 71b0c00e7df02ce45093baaf7ecfb54f8ba2c12c Mon Sep 17 00:00:00 2001
From: Jerin Jacob <jerin.jacob at caviumnetworks.com>
Date: Fri, 17 Aug 2018 20:00:22 +0530
Subject: [PATCH] net/octeontx: fix packet corruption on Tx

[ backported from upstream commit 9f92552eb997819d8af80b0634849070075cce2a ]

LMTST does not guarantee packet content get synced with L2C when
HW access the packet for transmitting.

Adding coherent IO write barrier will make sure HW sees the correct
packet if its modified.

Fixes: 9e747589bd4c ("net/octeontx: add packet transmit burst function")

Reported-by: Vikas Aggarwal <vikas.aggarwal at caviumnetworks.com>
Signed-off-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>
Acked-by: Santosh Shukla <santosh.shukla at caviumnetworks.com>
---
 drivers/net/octeontx/octeontx_rxtx.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/octeontx/octeontx_rxtx.c b/drivers/net/octeontx/octeontx_rxtx.c
index c97d5b351..e6f917f72 100644
--- a/drivers/net/octeontx/octeontx_rxtx.c
+++ b/drivers/net/octeontx/octeontx_rxtx.c
@@ -91,6 +91,7 @@ octeontx_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 
 	count = 0;
 
+	rte_io_wmb();
 	while (count < nb_pkts) {
 		res = __octeontx_xmit_pkts(dq->lmtline_va, dq->ioreg_va,
 					   dq->fc_status_va,
-- 
2.11.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-01-11 02:29:10.908957324 -0800
+++ 0001-net-octeontx-fix-packet-corruption-on-Tx.patch	2019-01-11 02:29:10.643973000 -0800
@@ -1,8 +1,10 @@
-From 9f92552eb997819d8af80b0634849070075cce2a Mon Sep 17 00:00:00 2001
+From 71b0c00e7df02ce45093baaf7ecfb54f8ba2c12c Mon Sep 17 00:00:00 2001
 From: Jerin Jacob <jerin.jacob at caviumnetworks.com>
 Date: Fri, 17 Aug 2018 20:00:22 +0530
 Subject: [PATCH] net/octeontx: fix packet corruption on Tx
 
+[ backported from upstream commit 9f92552eb997819d8af80b0634849070075cce2a ]
+
 LMTST does not guarantee packet content get synced with L2C when
 HW access the packet for transmitting.
 
@@ -10,7 +12,6 @@
 packet if its modified.
 
 Fixes: 9e747589bd4c ("net/octeontx: add packet transmit burst function")
-Cc: stable at dpdk.org
 
 Reported-by: Vikas Aggarwal <vikas.aggarwal at caviumnetworks.com>
 Signed-off-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>
@@ -20,14 +21,14 @@
  1 file changed, 1 insertion(+)
 
 diff --git a/drivers/net/octeontx/octeontx_rxtx.c b/drivers/net/octeontx/octeontx_rxtx.c
-index a9149b4e1..f861313e6 100644
+index c97d5b351..e6f917f72 100644
 --- a/drivers/net/octeontx/octeontx_rxtx.c
 +++ b/drivers/net/octeontx/octeontx_rxtx.c
-@@ -63,6 +63,7 @@ octeontx_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
+@@ -91,6 +91,7 @@ octeontx_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
  
  	count = 0;
  
-+	rte_cio_wmb();
++	rte_io_wmb();
  	while (count < nb_pkts) {
  		res = __octeontx_xmit_pkts(dq->lmtline_va, dq->ioreg_va,
  					   dq->fc_status_va,


More information about the stable mailing list