From: Peter Hurley Date: Thu, 16 Oct 2014 17:54:36 +0000 (-0400) Subject: tty: Prevent "read/write wait queue active!" log flooding X-Git-Tag: v3.4.106~41 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=871518e986137e72b3ad20e5b3fd7093cda69bbf;p=platform%2Fkernel%2Flinux-stable.git tty: Prevent "read/write wait queue active!" log flooding commit 494c1eac7e73f719af9d474a96ec8494c33efd6a upstream. Only print one warning when a task is on the read_wait or write_wait wait queue at final tty release. Signed-off-by: Peter Hurley Signed-off-by: Greg Kroah-Hartman [lizf: Backported to 3.4: adjust context] Signed-off-by: Zefan Li --- diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c index 2d66beed..a07eb4c 100644 --- a/drivers/tty/tty_io.c +++ b/drivers/tty/tty_io.c @@ -1634,6 +1634,7 @@ int tty_release(struct inode *inode, struct file *filp) int idx; char buf[64]; long timeout = 0; + int once = 1; if (tty_paranoia_check(tty, inode, __func__)) return 0; @@ -1714,8 +1715,11 @@ int tty_release(struct inode *inode, struct file *filp) if (!do_sleep) break; - printk(KERN_WARNING "%s: %s: read/write wait queue active!\n", + if (once) { + once = 0; + printk(KERN_WARNING "%s: %s: read/write wait queue active!\n", __func__, tty_name(tty, buf)); + } tty_unlock(); mutex_unlock(&tty_mutex); schedule_timeout_killable(timeout);