Revert "serial_core: Update buffer overrun statistics."
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 15 May 2012 16:44:22 +0000 (09:44 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 15 May 2012 16:44:22 +0000 (09:44 -0700)
This reverts commit 642180871bc91afebb6ccf40d1615a7dd33699a3.

Buffer overruns are for hardware reported overruns, not software ones,
which will only happen if we run out of memory and you will get lots of
-ENOMEM errors at the same time.

Thanks to Alan Cox for catching this.

Reported-by: Alan Cox <alan@linux.intel.com>
Cc: Corbin Atkinson <corbinat@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/serial_core.c

index a21dc8e3b7c0cf56ed808e006499abf4b661a217..246b823c1b27f7f2847fdcf08798b2f669102039 100644 (file)
@@ -2527,16 +2527,14 @@ void uart_insert_char(struct uart_port *port, unsigned int status,
        struct tty_struct *tty = port->state->port.tty;
 
        if ((status & port->ignore_status_mask & ~overrun) == 0)
-               if (tty_insert_flip_char(tty, ch, flag) == 0)
-                       ++port->icount.buf_overrun;
+               tty_insert_flip_char(tty, ch, flag);
 
        /*
         * Overrun is special.  Since it's reported immediately,
         * it doesn't affect the current character.
         */
        if (status & ~port->ignore_status_mask & overrun)
-               if (tty_insert_flip_char(tty, 0, TTY_OVERRUN) == 0)
-                       ++port->icount.buf_overrun;
+               tty_insert_flip_char(tty, 0, TTY_OVERRUN);
 }
 EXPORT_SYMBOL_GPL(uart_insert_char);