OSDN Git Service

virtio-serial: Assert for virtio queue ready before virtqueue operations
authorAmit Shah <amit.shah@redhat.com>
Thu, 1 Jul 2010 09:28:17 +0000 (14:58 +0530)
committerAnthony Liguori <aliguori@us.ibm.com>
Tue, 13 Jul 2010 14:06:58 +0000 (09:06 -0500)
In addition to the previous fix for calling do_flush_queued_data() only
when the virtqueue is ready, ensure do_flush_queued_data() gets a vq
that's suitably initialised.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/virtio-serial-bus.c

index 077c318..8e611c0 100644 (file)
@@ -117,6 +117,7 @@ static void do_flush_queued_data(VirtIOSerialPort *port, VirtQueue *vq,
     VirtQueueElement elem;
 
     assert(port || discard);
+    assert(virtio_queue_ready(vq));
 
     while ((discard || !port->throttled) && virtqueue_pop(vq, &elem)) {
         uint8_t *buf;