diff options
Diffstat (limited to 'drivers/char/tty_io.c')
-rw-r--r-- | drivers/char/tty_io.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c index 5ee9081a560f..bb22cf495435 100644 --- a/drivers/char/tty_io.c +++ b/drivers/char/tty_io.c | |||
@@ -1866,19 +1866,19 @@ got_driver: | |||
1866 | printk(KERN_DEBUG "error %d in opening %s...", retval, | 1866 | printk(KERN_DEBUG "error %d in opening %s...", retval, |
1867 | tty->name); | 1867 | tty->name); |
1868 | #endif | 1868 | #endif |
1869 | tty_unlock(); /* need to call tty_release without BTM */ | ||
1869 | tty_release(inode, filp); | 1870 | tty_release(inode, filp); |
1870 | if (retval != -ERESTARTSYS) { | 1871 | if (retval != -ERESTARTSYS) |
1871 | tty_unlock(); | ||
1872 | return retval; | 1872 | return retval; |
1873 | } | 1873 | |
1874 | if (signal_pending(current)) { | 1874 | if (signal_pending(current)) |
1875 | tty_unlock(); | ||
1876 | return retval; | 1875 | return retval; |
1877 | } | 1876 | |
1878 | schedule(); | 1877 | schedule(); |
1879 | /* | 1878 | /* |
1880 | * Need to reset f_op in case a hangup happened. | 1879 | * Need to reset f_op in case a hangup happened. |
1881 | */ | 1880 | */ |
1881 | tty_lock(); | ||
1882 | if (filp->f_op == &hung_up_tty_fops) | 1882 | if (filp->f_op == &hung_up_tty_fops) |
1883 | filp->f_op = &tty_fops; | 1883 | filp->f_op = &tty_fops; |
1884 | tty_unlock(); | 1884 | tty_unlock(); |