|
@@ -763,8 +763,6 @@ static int tty_ldisc_reinit(struct tty_struct *tty, int ldisc)
|
|
|
if (IS_ERR(ld))
|
|
|
return -1;
|
|
|
|
|
|
- WARN_ON_ONCE(tty_ldisc_wait_idle(tty, 5 * HZ));
|
|
|
-
|
|
|
tty_ldisc_close(tty, tty->ldisc);
|
|
|
tty_ldisc_put(tty->ldisc);
|
|
|
tty->ldisc = NULL;
|
|
@@ -848,6 +846,8 @@ void tty_ldisc_hangup(struct tty_struct *tty)
|
|
|
it means auditing a lot of other paths so this is
|
|
|
a FIXME */
|
|
|
if (tty->ldisc) { /* Not yet closed */
|
|
|
+ WARN_ON_ONCE(tty_ldisc_wait_idle(tty, 5 * HZ));
|
|
|
+
|
|
|
if (reset == 0) {
|
|
|
|
|
|
if (!tty_ldisc_reinit(tty, tty->termios->c_line))
|