Message ID | c6fb5f827e990d6d98e702050adcf38fbba237b8.1300179439.git.amit.shah@redhat.com |
---|---|
State | New |
Headers | show |
diff --git a/hw/virtio-console.c b/hw/virtio-console.c index c235b27..84ed572 100644 --- a/hw/virtio-console.c +++ b/hw/virtio-console.c @@ -82,7 +82,11 @@ static int virtconsole_exitfn(VirtIOSerialPort *port) if (vcon->chr) { port->info->have_data = NULL; - qemu_chr_close(vcon->chr); + /* + * Instead of closing the chardev, free it so it can be used + * for other purposes. + */ + qemu_chr_add_handlers(vcon->chr, NULL, NULL, NULL, NULL); } return 0;
After a hot-unplug operation, the previous behaviour was to close the chardev. That meant the chardev couldn't be re-used. Also, since chardev hot-plug isn't possible so far, this means virtio-console hot-plug isn't feasible as well. With this change, the chardev is kept around. A new virtio-console channel can then be hot-plugged with the same chardev and things will continue to work. Signed-off-by: Amit Shah <amit.shah@redhat.com> --- hw/virtio-console.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)