|
@@ -1373,7 +1373,13 @@ err_release_lock:
|
|
|
return ERR_PTR(retval);
|
|
|
}
|
|
|
|
|
|
-static void tty_free_termios(struct tty_struct *tty)
|
|
|
+/**
|
|
|
+ * tty_save_termios() - save tty termios data in driver table
|
|
|
+ * @tty: tty whose termios data to save
|
|
|
+ *
|
|
|
+ * Locking: Caller guarantees serialisation with tty_init_termios().
|
|
|
+ */
|
|
|
+void tty_save_termios(struct tty_struct *tty)
|
|
|
{
|
|
|
struct ktermios *tp;
|
|
|
int idx = tty->index;
|
|
@@ -1392,6 +1398,7 @@ static void tty_free_termios(struct tty_struct *tty)
|
|
|
}
|
|
|
*tp = tty->termios;
|
|
|
}
|
|
|
+EXPORT_SYMBOL_GPL(tty_save_termios);
|
|
|
|
|
|
/**
|
|
|
* tty_flush_works - flush all works of a tty/pty pair
|
|
@@ -1491,7 +1498,7 @@ static void release_tty(struct tty_struct *tty, int idx)
|
|
|
WARN_ON(!mutex_is_locked(&tty_mutex));
|
|
|
if (tty->ops->shutdown)
|
|
|
tty->ops->shutdown(tty);
|
|
|
- tty_free_termios(tty);
|
|
|
+ tty_save_termios(tty);
|
|
|
tty_driver_remove_tty(tty->driver, tty);
|
|
|
tty->port->itty = NULL;
|
|
|
if (tty->link)
|