From 4d8c139e4f4ffe7c3f658ec0b73a3ef239bbb16e Mon Sep 17 00:00:00 2001 From: Amit Shah Date: Thu, 2 Sep 2010 18:38:30 +0530 Subject: [PATCH] --- yaml --- r: 211655 b: refs/heads/master c: e062013c7d22e40ee634b818d28fd615db36998e h: refs/heads/master i: 211653: e639875bb8bc055005ee189ff6d3005d5148e3b5 211651: 7897cb15a4d04e99a22aef32e20f905fbe58b9c1 211647: 48b54529a0c99dfdaf390682b35c19938908212a v: v3 --- [refs] | 2 +- trunk/drivers/char/virtio_console.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 5205da3d1714..a9bb66458af2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b353a6b821627053f82b4e7b907e824cb7a6879c +refs/heads/master: e062013c7d22e40ee634b818d28fd615db36998e diff --git a/trunk/drivers/char/virtio_console.c b/trunk/drivers/char/virtio_console.c index 288701ccbf7a..c84486b3e43d 100644 --- a/trunk/drivers/char/virtio_console.c +++ b/trunk/drivers/char/virtio_console.c @@ -1738,6 +1738,14 @@ static void virtcons_remove(struct virtio_device *vdev) 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)) { struct port_buffer *buf; unsigned int len;