summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoss Lagerwall <rosslagerwall@gmail.com>2013-06-14 23:24:25 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-06-17 12:37:29 -0700
commitef223fb3d1d61c2a95a89cdc02f8e86dac96ddc3 (patch)
treeaf86ef5993496aa476bb0a487dcd38b7f2890ac2
parent7d132055814ef17a6c7b69f342244c410a5e000f (diff)
downloadkernel-common-ef223fb3d1d61c2a95a89cdc02f8e86dac96ddc3.tar.gz
kernel-common-ef223fb3d1d61c2a95a89cdc02f8e86dac96ddc3.tar.bz2
kernel-common-ef223fb3d1d61c2a95a89cdc02f8e86dac96ddc3.zip
tty/vt: Return EBUSY if deallocating VT1 and it is busy
Commit 421b40a6286e ("tty/vt: Fix vc_deallocate() lock order") changed the behavior when deallocating VT 1. Previously if trying to deallocate VT1 and it is busy, we would return EBUSY. The commit changed this to return 0 (success). This commit restores the old behavior. Signed-off-by: Ross Lagerwall <rosslagerwall@gmail.com> Tested-by: Mikael Pettersson <mikpe@it.uu.se> Acked-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/tty/vt/vt_ioctl.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/tty/vt/vt_ioctl.c b/drivers/tty/vt/vt_ioctl.c
index fc2c06c66e89..2bd78e2ac8ec 100644
--- a/drivers/tty/vt/vt_ioctl.c
+++ b/drivers/tty/vt/vt_ioctl.c
@@ -289,13 +289,10 @@ static int vt_disallocate(unsigned int vc_num)
struct vc_data *vc = NULL;
int ret = 0;
- if (!vc_num)
- return 0;
-
console_lock();
if (VT_BUSY(vc_num))
ret = -EBUSY;
- else
+ else if (vc_num)
vc = vc_deallocate(vc_num);
console_unlock();