summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Lagerwall <rosslagerwall@gmail.com>2013-06-15 00:24:25 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-06-17 21:37:29 +0200
commitef223fb3d1d61c2a95a89cdc02f8e86dac96ddc3 (patch)
treeaf86ef5993496aa476bb0a487dcd38b7f2890ac2
parentLinux 3.10-rc6 (diff)
downloadlinux-ef223fb3d1d61c2a95a89cdc02f8e86dac96ddc3.tar.xz
linux-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();