virtio_console: drop custom control queue cleanup
We now cleanup all VQs on device removal - no need to handle the control VQ specially. Cc: stable@vger.kernel.org Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
a7a69ec0d8
commit
61a8950c5c
@ -1988,21 +1988,6 @@ static void remove_vqs(struct ports_device *portdev)
|
|||||||
kfree(portdev->out_vqs);
|
kfree(portdev->out_vqs);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void remove_controlq_data(struct ports_device *portdev)
|
|
||||||
{
|
|
||||||
struct port_buffer *buf;
|
|
||||||
unsigned int len;
|
|
||||||
|
|
||||||
if (!use_multiport(portdev))
|
|
||||||
return;
|
|
||||||
|
|
||||||
while ((buf = virtqueue_get_buf(portdev->c_ivq, &len)))
|
|
||||||
free_buf(buf, true);
|
|
||||||
|
|
||||||
while ((buf = virtqueue_detach_unused_buf(portdev->c_ivq)))
|
|
||||||
free_buf(buf, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Once we're further in boot, we get probed like any other virtio
|
* Once we're further in boot, we get probed like any other virtio
|
||||||
* device.
|
* device.
|
||||||
@ -2163,7 +2148,6 @@ static void virtcons_remove(struct virtio_device *vdev)
|
|||||||
* have to just stop using the port, as the vqs are going
|
* have to just stop using the port, as the vqs are going
|
||||||
* away.
|
* away.
|
||||||
*/
|
*/
|
||||||
remove_controlq_data(portdev);
|
|
||||||
remove_vqs(portdev);
|
remove_vqs(portdev);
|
||||||
kfree(portdev);
|
kfree(portdev);
|
||||||
}
|
}
|
||||||
@ -2208,7 +2192,6 @@ static int virtcons_freeze(struct virtio_device *vdev)
|
|||||||
*/
|
*/
|
||||||
if (use_multiport(portdev))
|
if (use_multiport(portdev))
|
||||||
virtqueue_disable_cb(portdev->c_ivq);
|
virtqueue_disable_cb(portdev->c_ivq);
|
||||||
remove_controlq_data(portdev);
|
|
||||||
|
|
||||||
list_for_each_entry(port, &portdev->ports, list) {
|
list_for_each_entry(port, &portdev->ports, list) {
|
||||||
virtqueue_disable_cb(port->in_vq);
|
virtqueue_disable_cb(port->in_vq);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user