]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/tty/tty_mutex.c
Merge remote-tracking branch 'tty/tty-next'
[karo-tx-linux.git] / drivers / tty / tty_mutex.c
index 75351e4b77dfbad2843cb96331b1bcdfa4af4672..d8bae67a6174b65e676a887e08dd9e681c2f5693 100644 (file)
@@ -21,10 +21,15 @@ EXPORT_SYMBOL(tty_lock);
 
 int tty_lock_interruptible(struct tty_struct *tty)
 {
+       int ret;
+
        if (WARN(tty->magic != TTY_MAGIC, "L Bad %p\n", tty))
                return -EIO;
        tty_kref_get(tty);
-       return mutex_lock_interruptible(&tty->legacy_mutex);
+       ret = mutex_lock_interruptible(&tty->legacy_mutex);
+       if (ret)
+               tty_kref_put(tty);
+       return ret;
 }
 
 void tty_unlock(struct tty_struct *tty)