@@ -199,13 +199,17 @@ static int __devinit virtcons_probe(struct virtio_device *dev)
goto fail;
}
+ err = virtio_request_vqs(vdev, 2);
+ if (err)
+ goto free;
+
/* Find the input queue. */
/* FIXME: This is why we want to wean off hvc: we do nothing
* when input comes in. */
in_vq = vdev->config->find_vq(vdev, 0, hvc_handle_input);
if (IS_ERR(in_vq)) {
err = PTR_ERR(in_vq);
- goto free;
+ goto free_vqs;
}
out_vq = vdev->config->find_vq(vdev, 1, NULL);
@@ -244,6 +248,8 @@ free_out_vq:
vdev->config->del_vq(out_vq);
free_in_vq:
vdev->config->del_vq(in_vq);
+free_vqs:
+ virtio_free_vqs(vdev);
free:
kfree(inbuf);
fail:
Add request_vqs/free_vqs calls to virtio_console. These will be required for MSI support. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> --- drivers/char/virtio_console.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-)