virtio: console: don't rely on virtqueue_add_buf() returning capacity.
authorAmit Shah <amit.shah@redhat.com>
Sun, 9 Dec 2012 23:15:12 +0000 (09:45 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Tue, 18 Dec 2012 04:50:34 +0000 (15:20 +1030)
Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
drivers/char/virtio_console.c

index 8ab9c3d..89bdc31 100644 (file)
@@ -396,6 +396,8 @@ static int add_inbuf(struct virtqueue *vq, struct port_buffer *buf)
 
        ret = virtqueue_add_buf(vq, sg, 0, 1, buf, GFP_ATOMIC);
        virtqueue_kick(vq);
+       if (!ret)
+               ret = vq->num_free;
        return ret;
 }