|
@@ -231,6 +231,8 @@ static void n_tty_write_wakeup(struct tty_struct *tty)
|
|
|
|
|
|
static inline void n_tty_check_throttle(struct tty_struct *tty)
|
|
|
{
|
|
|
+ if (tty->driver->type == TTY_DRIVER_TYPE_PTY)
|
|
|
+ return;
|
|
|
/*
|
|
|
* Check the remaining room for the input canonicalization
|
|
|
* mode. We don't want to throttle the driver if we're in
|
|
@@ -250,6 +252,18 @@ static inline void n_tty_check_throttle(struct tty_struct *tty)
|
|
|
|
|
|
static inline void n_tty_check_unthrottle(struct tty_struct *tty)
|
|
|
{
|
|
|
+ if (tty->driver->type == TTY_DRIVER_TYPE_PTY &&
|
|
|
+ tty->link->ldisc->ops->write_wakeup == n_tty_write_wakeup) {
|
|
|
+ if (chars_in_buffer(tty) > TTY_THRESHOLD_UNTHROTTLE)
|
|
|
+ return;
|
|
|
+ if (!tty->count)
|
|
|
+ return;
|
|
|
+ n_tty_set_room(tty);
|
|
|
+ n_tty_write_wakeup(tty->link);
|
|
|
+ wake_up_interruptible_poll(&tty->link->write_wait, POLLOUT);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
/* If there is enough space in the read buffer now, let the
|
|
|
* low-level driver know. We use chars_in_buffer() to
|
|
|
* check the buffer, as it now knows about canonical mode.
|