Add barrier after meta batch free in scalar routine when
lmt lines are exactly full to make sure that next LMT line user
in Tx only starts writing the lines only when previous stoerl's
are complete.

Fixes: 4382a7ccf781 ("net/cnxk: support Rx security offload on cn10k")
Cc: sta...@dpdk.org

Signed-off-by: Nithin Dabilpuram <ndabilpu...@marvell.com>
---
 drivers/net/cnxk/cn10k_rx.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/net/cnxk/cn10k_rx.h b/drivers/net/cnxk/cn10k_rx.h
index e4f5a55..94c1f1e 100644
--- a/drivers/net/cnxk/cn10k_rx.h
+++ b/drivers/net/cnxk/cn10k_rx.h
@@ -1007,10 +1007,11 @@ cn10k_nix_recv_pkts(void *rx_queue, struct rte_mbuf 
**rx_pkts, uint16_t pkts,
        plt_write64((wdata | nb_pkts), rxq->cq_door);
 
        /* Free remaining meta buffers if any */
-       if (flags & NIX_RX_OFFLOAD_SECURITY_F && loff) {
+       if (flags & NIX_RX_OFFLOAD_SECURITY_F && loff)
                nix_sec_flush_meta(laddr, lmt_id + lnum, loff, aura_handle);
-               plt_io_wmb();
-       }
+
+       if (flags & NIX_RX_OFFLOAD_SECURITY_F)
+               rte_io_wmb();
 
        return nb_pkts;
 }
-- 
2.8.4

Reply via email to