diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c index 374ecffd48..0716deb10d 100644 --- a/hw/misc/ivshmem.c +++ b/hw/misc/ivshmem.c @@ -532,8 +532,6 @@ static void ivshmem_read(void *opaque, const uint8_t *buf, int size) if (incoming_posn == -1) { void * map_ptr; - s->max_peer = 0; - if (check_shm_size(s, incoming_fd, &err) == -1) { error_report_err(err); close(incoming_fd); @@ -723,6 +721,8 @@ static void pci_ivshmem_realize(PCIDevice *dev, Error **errp) PCI_BASE_ADDRESS_MEM_PREFETCH; Error *local_err = NULL; + s->max_peer = -1; + if (s->sizearg == NULL) { s->ivshmem_size = 4 << 20; /* 4 MB default */ } else {