Add memory write barriers for read and wait status functions
in ddm, udm and mpu.

Signed-off-by: John Miller <john.mil...@atomicrules.com>
---
 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.25.1

Reply via email to