Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1290472

[PATCH 5/6] n_tty: Fix stuck write wakeup

From Peter Hurley <peter@hurleysoftware.com>
Newsgroups linux.kernel
Subject [PATCH 5/6] n_tty: Fix stuck write wakeup
Date 2015-12-12 23:20 +0100
Message-ID <qF0Gd-8bC-1@gated-at.bofh.it> (permalink)
References <qF0Gd-8bC-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


If signal-driven i/o is disabled while write wakeup is pending (ie.,
n_tty_write() has set TTY_DO_WRITE_WAKEUP but then signal-driven i/o
is disabled), the TTY_DO_WRITE_WAKEUP bit will never be cleared and
will cause tty_wakeup() to always call n_tty_write_wakeup.

Unconditionally clear the write wakeup, and since kill_fasync()
already checks if the fasync ptr is null, call kill_fasync()
unconditionally as well.

Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
---
 drivers/tty/n_tty.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c
index e695f8f..5034da0 100644
--- a/drivers/tty/n_tty.c
+++ b/drivers/tty/n_tty.c
@@ -230,8 +230,8 @@ static ssize_t chars_in_buffer(struct tty_struct *tty)
 
 static void n_tty_write_wakeup(struct tty_struct *tty)
 {
-	if (tty->fasync && test_and_clear_bit(TTY_DO_WRITE_WAKEUP, &tty->flags))
-		kill_fasync(&tty->fasync, SIGIO, POLL_OUT);
+	clear_bit(TTY_DO_WRITE_WAKEUP, &tty->flags);
+	kill_fasync(&tty->fasync, SIGIO, POLL_OUT);
 }
 
 static void n_tty_check_throttle(struct tty_struct *tty)
-- 
2.6.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread


Thread

[PATCH 5/6] n_tty: Fix stuck write wakeup Peter Hurley <peter@hurleysoftware.com> - 2015-12-12 23:20 +0100
  Re: [PATCH 5/6] n_tty: Fix stuck write wakeup Johannes Stezenbach <js@sig21.net> - 2015-12-13 16:20 +0100
    Re: [PATCH 5/6] n_tty: Fix stuck write wakeup Peter Hurley <peter@hurleysoftware.com> - 2015-12-13 19:40 +0100
      Re: [PATCH 5/6] n_tty: Fix stuck write wakeup Johannes Stezenbach <js@sig21.net> - 2015-12-13 20:30 +0100

csiph-web