qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 1/2] virtio-serial: Check if virtio queue is ready before consuming data
@ 2010-07-01  9:28 Amit Shah
  2010-07-01  9:28 ` [Qemu-devel] [PATCH 2/2] virtio-serial: Assert for virtio queue ready before virtqueue operations Amit Shah
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Amit Shah @ 2010-07-01  9:28 UTC (permalink / raw)
  To: qemu list; +Cc: Amit Shah

If a virtio-serial port is removed before the guest comes up and
initialises the virtqueues, qemu exits with the message

Guest moved used index from 0 to 61440

This happens because we try to clear any pending buffers from the
virtqueue.

Ensure the virtqueue is initialised before calling any virtqueue
operations.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
 hw/virtio-serial-bus.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c
index 7f9d28f..b89daa6 100644
--- a/hw/virtio-serial-bus.c
+++ b/hw/virtio-serial-bus.c
@@ -139,6 +139,9 @@ static void flush_queued_data(VirtIOSerialPort *port, bool discard)
 {
     assert(port);
 
+    if (!virtio_queue_ready(port->ovq)) {
+        return;
+    }
     do_flush_queued_data(port, port->ovq, &port->vser->vdev, discard);
 }
 
-- 
1.7.0.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-07-14 14:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-01  9:28 [Qemu-devel] [PATCH 1/2] virtio-serial: Check if virtio queue is ready before consuming data Amit Shah
2010-07-01  9:28 ` [Qemu-devel] [PATCH 2/2] virtio-serial: Assert for virtio queue ready before virtqueue operations Amit Shah
2010-07-14 13:23 ` [Qemu-devel] [PATCH 1/2] virtio-serial: Check if virtio queue is ready before consuming data Amit Shah
2010-07-14 14:39 ` Alon Levy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).