From fa2d4a22fa82665a778e2f700e3318efebf2d87f Mon Sep 17 00:00:00 2001 From: Wei Hu Date: Mon, 15 Aug 2022 07:36:09 +0000 Subject: [PATCH] mana: add rmb load fence to comply with hw spec To ensure software reads fresh data after observing ownership bits. Sponsored by: Microsoft --- sys/dev/mana/gdma_main.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/dev/mana/gdma_main.c b/sys/dev/mana/gdma_main.c index 27275252dc4..6b4e87d169d 100644 --- a/sys/dev/mana/gdma_main.c +++ b/sys/dev/mana/gdma_main.c @@ -556,6 +556,8 @@ mana_gd_process_eq_events(void *arg) break; } + rmb(); + mana_gd_process_eqe(eq); eq->head++; @@ -1366,6 +1368,8 @@ mana_gd_read_cqe(struct gdma_queue *cq, struct gdma_comp *comp) return -1; } + rmb(); + comp->wq_num = cqe->cqe_info.wq_num; comp->is_sq = cqe->cqe_info.is_sq; memcpy(comp->cqe_data, cqe->cqe_data, GDMA_COMP_DATA_SIZE);