ChangeSet 1.2231.1.6, 2005/03/28 19:17:52-08:00, [EMAIL PROTECTED] [PATCH] tty overrun time fix moreau francis <[EMAIL PROTECTED]> points out that we need to initialise overrun_time, else the overrun reporting screws up when jiffies is "negative". So initialise tty->overrun_time apropriately, and handle the case where the tty has been open for so long that the overrun time has become "greater than" jiffies. Signed-off-by: Andrew Morton <[EMAIL PROTECTED]> Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
n_tty.c | 8 +++++--- tty_io.c | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff -Nru a/drivers/char/n_tty.c b/drivers/char/n_tty.c --- a/drivers/char/n_tty.c 2005-03-28 21:07:32 -08:00 +++ b/drivers/char/n_tty.c 2005-03-28 21:07:32 -08:00 @@ -606,9 +606,11 @@ char buf[64]; tty->num_overrun++; - if (time_before(tty->overrun_time, jiffies - HZ)) { - printk(KERN_WARNING "%s: %d input overrun(s)\n", tty_name(tty, buf), - tty->num_overrun); + if (time_before(tty->overrun_time, jiffies - HZ) || + time_after(tty->overrun_time, jiffies)) { + printk(KERN_WARNING "%s: %d input overrun(s)\n", + tty_name(tty, buf), + tty->num_overrun); tty->overrun_time = jiffies; tty->num_overrun = 0; } diff -Nru a/drivers/char/tty_io.c b/drivers/char/tty_io.c --- a/drivers/char/tty_io.c 2005-03-28 21:07:32 -08:00 +++ b/drivers/char/tty_io.c 2005-03-28 21:07:32 -08:00 @@ -2630,6 +2630,7 @@ tty->magic = TTY_MAGIC; tty_ldisc_assign(tty, tty_ldisc_get(N_TTY)); tty->pgrp = -1; + tty->overrun_time = jiffies; tty->flip.char_buf_ptr = tty->flip.char_buf; tty->flip.flag_buf_ptr = tty->flip.flag_buf; INIT_WORK(&tty->flip.work, flush_to_ldisc, tty); - To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html