tty: Prevent "read/write wait queue active!" log flooding
Only print one warning when a task is on the read_wait or write_wait wait queue at final tty release. Cc: <stable@vger.kernel.org> # 3.4.x+ Signed-off-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
37b1645788
commit
494c1eac7e
1 changed files with 6 additions and 2 deletions
|
@ -1710,6 +1710,7 @@ int tty_release(struct inode *inode, struct file *filp)
|
||||||
int idx;
|
int idx;
|
||||||
char buf[64];
|
char buf[64];
|
||||||
long timeout = 0;
|
long timeout = 0;
|
||||||
|
int once = 1;
|
||||||
|
|
||||||
if (tty_paranoia_check(tty, inode, __func__))
|
if (tty_paranoia_check(tty, inode, __func__))
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1790,8 +1791,11 @@ int tty_release(struct inode *inode, struct file *filp)
|
||||||
if (!do_sleep)
|
if (!do_sleep)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
printk(KERN_WARNING "%s: %s: read/write wait queue active!\n",
|
if (once) {
|
||||||
__func__, tty_name(tty, buf));
|
once = 0;
|
||||||
|
printk(KERN_WARNING "%s: %s: read/write wait queue active!\n",
|
||||||
|
__func__, tty_name(tty, buf));
|
||||||
|
}
|
||||||
tty_unlock_pair(tty, o_tty);
|
tty_unlock_pair(tty, o_tty);
|
||||||
mutex_unlock(&tty_mutex);
|
mutex_unlock(&tty_mutex);
|
||||||
schedule_timeout_killable(timeout);
|
schedule_timeout_killable(timeout);
|
||||||
|
|
Loading…
Add table
Reference in a new issue