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>
VirtConsole *vcon = DO_UPCAST(VirtConsole, port, port);
if (vcon->chr) {
- 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;