diff options
author | Amit Shah <amit.shah@redhat.com> | 2011-03-15 14:13:09 +0530 |
---|---|---|
committer | Amit Shah <amit.shah@redhat.com> | 2011-03-21 16:56:55 +0530 |
commit | f9a90f189c780e066039f2de3906c73c48071bb7 (patch) | |
tree | 7a45f4dadfd9bb5f672a499d7f17b84ca4359388 /hw/virtio-console.c | |
parent | fee063c07f20b442ef4bedef834ab0a3bf55b562 (diff) |
virtio-console: Keep chardev open for other users after hot-unplug
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>
Diffstat (limited to 'hw/virtio-console.c')
-rw-r--r-- | hw/virtio-console.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/hw/virtio-console.c b/hw/virtio-console.c index be5955868f..6b5237b3ce 100644 --- a/hw/virtio-console.c +++ b/hw/virtio-console.c @@ -82,7 +82,11 @@ static int virtconsole_exitfn(VirtIOSerialPort *port) 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; |