diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/tty/n_tty.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c index ee1c268f5f9d..4f34491b65c6 100644 --- a/drivers/tty/n_tty.c +++ b/drivers/tty/n_tty.c | |||
@@ -1432,6 +1432,12 @@ static void n_tty_receive_buf(struct tty_struct *tty, const unsigned char *cp, | |||
1432 | */ | 1432 | */ |
1433 | if (tty->receive_room < TTY_THRESHOLD_THROTTLE) | 1433 | if (tty->receive_room < TTY_THRESHOLD_THROTTLE) |
1434 | tty_throttle(tty); | 1434 | tty_throttle(tty); |
1435 | |||
1436 | /* FIXME: there is a tiny race here if the receive room check runs | ||
1437 | before the other work executes and empties the buffer (upping | ||
1438 | the receiving room and unthrottling. We then throttle and get | ||
1439 | stuck. This has been observed and traced down by Vincent Pillet/ | ||
1440 | We need to address this when we sort out out the rx path locking */ | ||
1435 | } | 1441 | } |
1436 | 1442 | ||
1437 | int is_ignored(int sig) | 1443 | int is_ignored(int sig) |