[lkml]   [2012]   [Jul]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
SubjectSubject: [PATCH] tty ldisc: Close/Reopen race prevention should check the proper flag
From: Shachar Shemesh <>

Commit acfa747b introduced the TTY_HUPPING flag to distinguish closed
TTY from currently closing ones. The test in tty_set_ldisc still
remained pointing at the old flag. This causes pppd to sometimes lapse
into uninterruptible sleep when killed and restarted.

Signed-off-by: Shachar Shemesh <>
Tested with 3.2.20 kernel.

diff --git a/drivers/tty/tty_ldisc.c b/drivers/tty/tty_ldisc.c
index 24b95db..a662a24 100644
--- a/drivers/tty/tty_ldisc.c
+++ b/drivers/tty/tty_ldisc.c
@@ -658,7 +658,7 @@ int tty_set_ldisc(struct tty_struct *tty, int ldisc)
goto enable;

- if (test_bit(TTY_HUPPED, &tty->flags)) {
+ if (test_bit(TTY_HUPPING, &tty->flags)) {
/* We were raced by the hangup method. It will have stomped
the ldisc data and closed the ldisc down */
clear_bit(TTY_LDISC_CHANGING, &tty->flags);

 \ /
  Last update: 2012-07-01 09:22    [W:0.079 / U:2.260 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site