Amit Shah <amit.s...@redhat.com> wrote: > 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 4440784..be59558 100644 > --- a/hw/virtio-console.c > +++ b/hw/virtio-console.c > @@ -82,7 +82,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); > }
Discussed with Amit over irc, I think that we are missing setup of have_data for non console devices, but that is a different bug that the one being fixed here. Later, Juan.