From b4b68e7508118fab1b33026472db2539e676f91e Mon Sep 17 00:00:00 2001 From: John Miller Date: Tue, 15 Feb 2022 16:19:25 -0600 Subject: [PATCH] net/ark: add memory write barriers in critical paths Add memory write barriers for read and wait status functions in ddm, udm and mpu. Signed-off-by: John Miller --- drivers/net/ark/ark_ddm.c | 1 + drivers/net/ark/ark_mpu.c | 1 + drivers/net/ark/ark_udm.c | 1 + 3 files changed, 3 insertions(+) diff --git a/drivers/net/ark/ark_ddm.c b/drivers/net/ark/ark_ddm.c index 2321371572..b16c739d50 100644 --- a/drivers/net/ark/ark_ddm.c +++ b/drivers/net/ark/ark_ddm.c @@ -55,6 +55,7 @@ ark_ddm_stop(struct ark_ddm_t *ddm, const int wait) int cnt = 0; ddm->cfg.command = 2; + rte_wmb(); while (wait && (ddm->cfg.stop_flushed & 0x01) == 0) { if (cnt++ > 1000) return 1; diff --git a/drivers/net/ark/ark_mpu.c b/drivers/net/ark/ark_mpu.c index 8160c1de7b..b8e94b6ed3 100644 --- a/drivers/net/ark/ark_mpu.c +++ b/drivers/net/ark/ark_mpu.c @@ -68,6 +68,7 @@ ark_mpu_reset(struct ark_mpu_t *mpu) int cnt = 0; mpu->cfg.command = MPU_CMD_RESET; + rte_wmb(); while (mpu->cfg.command != MPU_CMD_IDLE) { if (cnt++ > 1000) diff --git a/drivers/net/ark/ark_udm.c b/drivers/net/ark/ark_udm.c index 28c4500a2c..cb3cf5c941 100644 --- a/drivers/net/ark/ark_udm.c +++ b/drivers/net/ark/ark_udm.c @@ -34,6 +34,7 @@ ark_udm_stop(struct ark_udm_t *udm, const int wait) int cnt = 0; udm->cfg.command = 2; + rte_wmb(); while (wait && (udm->cfg.stop_flushed & 0x01) == 0) { if (cnt++ > 1000) -- 2.39.5