|
@@ -2749,8 +2749,8 @@ static int con_open(struct tty_struct *tty, struct file *filp)
|
|
tty->termios->c_iflag |= IUTF8;
|
|
tty->termios->c_iflag |= IUTF8;
|
|
else
|
|
else
|
|
tty->termios->c_iflag &= ~IUTF8;
|
|
tty->termios->c_iflag &= ~IUTF8;
|
|
- release_console_sem();
|
|
|
|
vcs_make_sysfs(tty);
|
|
vcs_make_sysfs(tty);
|
|
|
|
+ release_console_sem();
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -2775,8 +2775,8 @@ static void con_close(struct tty_struct *tty, struct file *filp)
|
|
if (vc)
|
|
if (vc)
|
|
vc->vc_tty = NULL;
|
|
vc->vc_tty = NULL;
|
|
tty->driver_data = NULL;
|
|
tty->driver_data = NULL;
|
|
- release_console_sem();
|
|
|
|
vcs_remove_sysfs(tty);
|
|
vcs_remove_sysfs(tty);
|
|
|
|
+ release_console_sem();
|
|
mutex_unlock(&tty_mutex);
|
|
mutex_unlock(&tty_mutex);
|
|
/*
|
|
/*
|
|
* tty_mutex is released, but we still hold BKL, so there is
|
|
* tty_mutex is released, but we still hold BKL, so there is
|