net/bnxt: fix missing barriers in completion handling
authorLance Richardson <lance.richardson@broadcom.com>
Fri, 9 Jul 2021 16:38:48 +0000 (12:38 -0400)
committerAjit Khaparde <ajit.khaparde@broadcom.com>
Mon, 12 Jul 2021 18:38:12 +0000 (20:38 +0200)
commit5ed30db87fa810e210fec27a417a3f0d69f7b425
tree722e534d9a28b928f89964f583b430c279c46e50
parent1c3b657a6ace4483021ad896643facb2186b8e45
net/bnxt: fix missing barriers in completion handling

Ensure that Rx/Tx/Async completion entry fields are accessed
only after the completion's valid flag has been loaded and
verified. This is needed for correct operation on systems that
use relaxed memory consistency models.

Fixes: 2eb53b134aae ("net/bnxt: add initial Rx code")
Fixes: 6eb3cc2294fd ("net/bnxt: add initial Tx code")
Cc: stable@dpdk.org
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
drivers/net/bnxt/bnxt_cpr.h
drivers/net/bnxt/bnxt_ethdev.c
drivers/net/bnxt/bnxt_irq.c
drivers/net/bnxt/bnxt_rxr.c
drivers/net/bnxt/bnxt_rxtx_vec_avx2.c
drivers/net/bnxt/bnxt_rxtx_vec_neon.c
drivers/net/bnxt/bnxt_rxtx_vec_sse.c
drivers/net/bnxt/bnxt_txr.c