|
@@ -498,29 +498,6 @@ static void tty_ldisc_restore(struct tty_struct *tty, struct tty_ldisc *old)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-/**
|
|
|
- * tty_ldisc_halt - shut down the line discipline
|
|
|
- * @tty: tty device
|
|
|
- *
|
|
|
- * Shut down the line discipline and work queue for this tty device.
|
|
|
- * The TTY_LDISC flag being cleared ensures no further references can
|
|
|
- * be obtained while the delayed work queue halt ensures that no more
|
|
|
- * data is fed to the ldisc.
|
|
|
- *
|
|
|
- * You need to do a 'flush_scheduled_work()' (outside the ldisc_mutex)
|
|
|
- * in order to make sure any currently executing ldisc work is also
|
|
|
- * flushed.
|
|
|
- */
|
|
|
-
|
|
|
-static int tty_ldisc_halt(struct tty_struct *tty)
|
|
|
-{
|
|
|
- int scheduled;
|
|
|
- clear_bit(TTY_LDISC, &tty->flags);
|
|
|
- scheduled = cancel_work_sync(&tty->port->buf.work);
|
|
|
- set_bit(TTY_LDISC_HALTED, &tty->flags);
|
|
|
- return scheduled;
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* tty_ldisc_flush_works - flush all works of a tty
|
|
|
* @tty: tty device to flush works for
|
|
@@ -550,6 +527,29 @@ static int tty_ldisc_wait_idle(struct tty_struct *tty, long timeout)
|
|
|
return ret > 0 ? 0 : -EBUSY;
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * tty_ldisc_halt - shut down the line discipline
|
|
|
+ * @tty: tty device
|
|
|
+ *
|
|
|
+ * Shut down the line discipline and work queue for this tty device.
|
|
|
+ * The TTY_LDISC flag being cleared ensures no further references can
|
|
|
+ * be obtained while the delayed work queue halt ensures that no more
|
|
|
+ * data is fed to the ldisc.
|
|
|
+ *
|
|
|
+ * You need to do a 'flush_scheduled_work()' (outside the ldisc_mutex)
|
|
|
+ * in order to make sure any currently executing ldisc work is also
|
|
|
+ * flushed.
|
|
|
+ */
|
|
|
+
|
|
|
+static int tty_ldisc_halt(struct tty_struct *tty)
|
|
|
+{
|
|
|
+ int scheduled;
|
|
|
+ clear_bit(TTY_LDISC, &tty->flags);
|
|
|
+ scheduled = cancel_work_sync(&tty->port->buf.work);
|
|
|
+ set_bit(TTY_LDISC_HALTED, &tty->flags);
|
|
|
+ return scheduled;
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* tty_ldisc_hangup_halt - halt the line discipline for hangup
|
|
|
* @tty: tty being hung up
|