tty/vt: Return EBUSY if deallocating VT1 and it is busy
authorRoss Lagerwall <rosslagerwall@gmail.com>
Fri, 14 Jun 2013 22:24:25 +0000 (23:24 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 17 Jun 2013 19:37:29 +0000 (12:37 -0700)
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>
drivers/tty/vt/vt_ioctl.c

index fc2c06c..2bd78e2 100644 (file)
@@ -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();