From 5fc1d00f8cdd40385b990f2464f9ef159adb94d6 Mon Sep 17 00:00:00 2001 From: Amit Shah Date: Thu, 2 Sep 2010 18:11:48 +0530 Subject: [PATCH] --- yaml --- r: 211650 b: refs/heads/master c: 8ad37e83c8dc413f92b10c3d9bdeabe9237f521d h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/char/virtio_console.c | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 9696f41b13b5..19c1072fc933 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7a2853178dfba9553d58f356113f47fd582e9cc6 +refs/heads/master: 8ad37e83c8dc413f92b10c3d9bdeabe9237f521d diff --git a/trunk/drivers/char/virtio_console.c b/trunk/drivers/char/virtio_console.c index 21b621343033..2f4f0b23ea00 100644 --- a/trunk/drivers/char/virtio_console.c +++ b/trunk/drivers/char/virtio_console.c @@ -711,6 +711,7 @@ static int port_fops_open(struct inode *inode, struct file *filp) { struct cdev *cdev = inode->i_cdev; struct port *port; + int ret; port = container_of(cdev, struct port, cdev); filp->private_data = port; @@ -719,14 +720,17 @@ static int port_fops_open(struct inode *inode, struct file *filp) * Don't allow opening of console port devices -- that's done * via /dev/hvc */ - if (is_console_port(port)) - return -ENXIO; + if (is_console_port(port)) { + ret = -ENXIO; + goto out; + } /* Allow only one process to open a particular port at a time */ spin_lock_irq(&port->inbuf_lock); if (port->guest_connected) { spin_unlock_irq(&port->inbuf_lock); - return -EMFILE; + ret = -EMFILE; + goto out; } port->guest_connected = true; @@ -745,6 +749,8 @@ static int port_fops_open(struct inode *inode, struct file *filp) send_control_msg(filp->private_data, VIRTIO_CONSOLE_PORT_OPEN, 1); return 0; +out: + return ret; } /*