Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 25cf84cf authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/amit/virtio-console:
  virtio: console: Use better variable names for fill_queue operation
  virtio: console: Fix type of 'len' as unsigned int
parents 322aafa6 335a64a5
Loading
Loading
Loading
Loading
+16 −13
Original line number Diff line number Diff line
@@ -379,7 +379,7 @@ static ssize_t send_control_msg(struct port *port, unsigned int event,
	struct scatterlist sg[1];
	struct virtio_console_control cpkt;
	struct virtqueue *vq;
	int len;
	unsigned int len;

	if (!use_multiport(port->portdev))
		return 0;
@@ -1071,27 +1071,27 @@ static void config_intr(struct virtio_device *vdev)
static unsigned int fill_queue(struct virtqueue *vq, spinlock_t *lock)
{
	struct port_buffer *buf;
	unsigned int ret;
	int err;
	unsigned int nr_added_bufs;
	int ret;

	ret = 0;
	nr_added_bufs = 0;
	do {
		buf = alloc_buf(PAGE_SIZE);
		if (!buf)
			break;

		spin_lock_irq(lock);
		err = add_inbuf(vq, buf);
		if (err < 0) {
		ret = add_inbuf(vq, buf);
		if (ret < 0) {
			spin_unlock_irq(lock);
			free_buf(buf);
			break;
		}
		ret++;
		nr_added_bufs++;
		spin_unlock_irq(lock);
	} while (err > 0);
	} while (ret > 0);

	return ret;
	return nr_added_bufs;
}

static int add_port(struct ports_device *portdev, u32 id)
@@ -1100,6 +1100,7 @@ static int add_port(struct ports_device *portdev, u32 id)
	struct port *port;
	struct port_buffer *buf;
	dev_t devt;
	unsigned int nr_added_bufs;
	int err;

	port = kmalloc(sizeof(*port), GFP_KERNEL);
@@ -1144,8 +1145,8 @@ static int add_port(struct ports_device *portdev, u32 id)
	init_waitqueue_head(&port->waitqueue);

	/* Fill the in_vq with buffers so the host can send us data. */
	err = fill_queue(port->in_vq, &port->inbuf_lock);
	if (!err) {
	nr_added_bufs = fill_queue(port->in_vq, &port->inbuf_lock);
	if (!nr_added_bufs) {
		dev_err(port->dev, "Error allocating inbufs\n");
		err = -ENOMEM;
		goto free_device;
@@ -1442,12 +1443,14 @@ static int __devinit virtcons_probe(struct virtio_device *vdev)
	INIT_LIST_HEAD(&portdev->ports);

	if (multiport) {
		unsigned int nr_added_bufs;

		spin_lock_init(&portdev->cvq_lock);
		INIT_WORK(&portdev->control_work, &control_work_handler);
		INIT_WORK(&portdev->config_work, &config_work_handler);

		err = fill_queue(portdev->c_ivq, &portdev->cvq_lock);
		if (!err) {
		nr_added_bufs = fill_queue(portdev->c_ivq, &portdev->cvq_lock);
		if (!nr_added_bufs) {
			dev_err(&vdev->dev,
				"Error allocating buffers for control queue\n");
			err = -ENOMEM;