After a port unplug operation, the port->info->have_data() pointer was set to NULL. The problem is, the ->info struct is shared by all ports, effectively disabling writes to other ports.
Reported-by: juzhang <juzh...@redhat.com> Signed-off-by: Amit Shah <amit.s...@redhat.com> --- hw/virtio-console.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/hw/virtio-console.c b/hw/virtio-console.c index c235b27..d1734d9 100644 --- a/hw/virtio-console.c +++ b/hw/virtio-console.c @@ -81,7 +81,6 @@ static int virtconsole_exitfn(VirtIOSerialPort *port) VirtConsole *vcon = DO_UPCAST(VirtConsole, port, port); if (vcon->chr) { - port->info->have_data = NULL; qemu_chr_close(vcon->chr); } -- 1.7.4