When a port returns an error for not consuming data, we can only handle the -EAGAIN error type. Any other error isn't handled. Print out a message indicating this and the error returned.
Signed-off-by: Amit Shah <amit.s...@redhat.com> --- hw/virtio-serial-bus.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c index a82fbe9..8b715b2 100644 --- a/hw/virtio-serial-bus.c +++ b/hw/virtio-serial-bus.c @@ -155,6 +155,8 @@ static void do_flush_queued_data(VirtIOSerialPort *port, VirtQueue *vq, buf_size); if (ret < 0 && ret != -EAGAIN) { /* We don't handle any other type of errors here */ + error_report("%s: unexpected return %zd, aborting.\n", + __func__, ret); abort(); } if (ret == -EAGAIN || (ret >= 0 && ret < buf_size)) { -- 1.7.4