Commit e062013c authored by Amit Shah's avatar Amit Shah Committed by Rusty Russell

virtio: console: Reference counting portdev structs is not needed

Explain in a comment why there's no need to reference-count the portdev
struct: when a device is yanked out, we can't do anything more with it
anyway so just give up doing anything more with the data or the vqs and
exit cleanly.
Signed-off-by: default avatarAmit Shah <amit.shah@redhat.com>
Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
parent b353a6b8
...@@ -1738,6 +1738,14 @@ static void virtcons_remove(struct virtio_device *vdev) ...@@ -1738,6 +1738,14 @@ static void virtcons_remove(struct virtio_device *vdev)
unregister_chrdev(portdev->chr_major, "virtio-portsdev"); unregister_chrdev(portdev->chr_major, "virtio-portsdev");
/*
* When yanking out a device, we immediately lose the
* (device-side) queues. So there's no point in keeping the
* guest side around till we drop our final reference. This
* also means that any ports which are in an open state will
* have to just stop using the port, as the vqs are going
* away.
*/
if (use_multiport(portdev)) { if (use_multiport(portdev)) {
struct port_buffer *buf; struct port_buffer *buf;
unsigned int len; unsigned int len;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment