From ed92331c3fb46d5be1d00ab5a52c1daa31957146 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Fri, 22 Jun 2012 16:40:20 +0100 Subject: [PATCH] --- yaml --- r: 325599 b: refs/heads/master c: 0a44ab41eb833d07e3ec807d87151c7164d4f075 h: refs/heads/master i: 325597: a8fa54c1d1befa0d1850be53462c4d713aaef4c8 325595: b2de3c2db7da47490a66d8a2630a6aaa9f78ac60 325591: cf939c28fe345de40a8e23a12cbe0f82a8666613 325583: 7a2e34ac491b51087c0d4610abd9cb777f8a928b 325567: cf75ad9345ea3ed5cff4f9d03b56320974d79fb3 v: v3 --- [refs] | 2 +- trunk/drivers/tty/n_tty.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 886c96279175..834e6b6ef709 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fc915c8b930c3114f2a838f7e2cd8789ad6fedc3 +refs/heads/master: 0a44ab41eb833d07e3ec807d87151c7164d4f075 diff --git a/trunk/drivers/tty/n_tty.c b/trunk/drivers/tty/n_tty.c index ee1c268f5f9d..4f34491b65c6 100644 --- a/trunk/drivers/tty/n_tty.c +++ b/trunk/drivers/tty/n_tty.c @@ -1432,6 +1432,12 @@ static void n_tty_receive_buf(struct tty_struct *tty, const unsigned char *cp, */ if (tty->receive_room < TTY_THRESHOLD_THROTTLE) tty_throttle(tty); + + /* FIXME: there is a tiny race here if the receive room check runs + before the other work executes and empties the buffer (upping + the receiving room and unthrottling. We then throttle and get + stuck. This has been observed and traced down by Vincent Pillet/ + We need to address this when we sort out out the rx path locking */ } int is_ignored(int sig)