diff --git a/vm-virtio/src/queue.rs b/vm-virtio/src/queue.rs index c4c7fb44d..e586b2bce 100644 --- a/vm-virtio/src/queue.rs +++ b/vm-virtio/src/queue.rs @@ -607,8 +607,8 @@ impl Queue { None => warn!("Can't update avail_event"), } - // This fence ensures the guest sees the value we've just written. - fence(Ordering::Release); + // This fence ensures both guest and us see the correct value (avail idx and avail event) + fence(Ordering::SeqCst); } /// Return the value present in the used_event field of the avail ring.