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);