On 2014-10-30 at 12:50, Fam Zheng wrote:
Signed-off-by: Fam Zheng <f...@redhat.com>
---
  hw/scsi/virtio-scsi.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
index a1725b8..4aae1e8 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -793,6 +793,7 @@ void virtio_scsi_common_realize(DeviceState *dev, Error 
**errp,
          error_setg(errp, "Invalid number of queues (= %" PRId32 "), "
                           "must be a positive integer less than %d.",
                     s->conf.num_queues, VIRTIO_PCI_QUEUE_MAX);
+        virtio_cleanup(vdev);
          return;
      }
      s->cmd_vqs = g_malloc0(s->conf.num_queues * sizeof(VirtQueue *));

The alternative would be to simply push virtio_init() below this check, but it's fine either way.

Reviewed-by: Max Reitz <mre...@redhat.com>

Reply via email to