aboutsummaryrefslogtreecommitdiff
path: root/hw/ivshmem.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/ivshmem.c')
-rw-r--r--hw/ivshmem.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/ivshmem.c b/hw/ivshmem.c
index 3cdbea2133..19e164a353 100644
--- a/hw/ivshmem.c
+++ b/hw/ivshmem.c
@@ -369,8 +369,12 @@ static void close_guest_eventfds(IVShmemState *s, int posn)
guest_curr_max = s->peers[posn].nb_eventfds;
+ memory_region_transaction_begin();
for (i = 0; i < guest_curr_max; i++) {
ivshmem_del_eventfd(s, posn, i);
+ }
+ memory_region_transaction_commit();
+ for (i = 0; i < guest_curr_max; i++) {
event_notifier_cleanup(&s->peers[posn].eventfds[i]);
}