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: Amit Shah <amit.shah@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
b353a6b821
commit
e062013c7d
1 changed files with 8 additions and 0 deletions
|
@ -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;
|
||||||
|
|
Loading…
Add table
Reference in a new issue