From: Marc-André Lureau <marcandre.lur...@redhat.com> There is no peer when device is initialized, do not let doorbell for inexisting peer 0.
Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- hw/misc/ivshmem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c index 3398a57..07f2182 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 { -- 2.4.3