linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2.6.16.18] 8250: Serial console enable Tx fix
@ 2006-05-27  1:49 Michael Hordijk
  2006-06-02 16:48 ` Russell King
  0 siblings, 1 reply; 2+ messages in thread
From: Michael Hordijk @ 2006-05-27  1:49 UTC (permalink / raw)
  To: rmk+serial; +Cc: linux-serial

     Enabling the Tx interrupt from console_write on buggy UART (UART_BUG_TXEN) 
breaks console transmit on said UART.  Revert to previous UART_IER restore and 
use serial8250_start_tx() to cause the transmit path to start and not hang.

Signed-off-by: Michael W. J. Hordijk <mwh13@pitt.edu>

--- linux-2.6.16.y/drivers/serial/8250.c.orig   2006-05-26 21:25:09.000116360 -0400
+++ linux-2.6.16.y/drivers/serial/8250.c        2006-05-26 21:26:54.000841539 -0400
@@ -2229,8 +2229,13 @@ serial8250_console_write(struct console
          *      and restore the IER
          */
         wait_for_xmitr(up, BOTH_EMPTY);
-       up->ier |= UART_IER_THRI;
-       serial_out(up, UART_IER, ier | UART_IER_THRI);
+       serial_out(up, UART_IER, ier);
+
+       /*
+        *      Start transmitting again in case it was clobbered racing between
+        *      console and tty output.
+        */
+       serial8250_start_tx(up);
  }

  static int serial8250_console_setup(struct console *co, char *options)

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH 2.6.16.18] 8250: Serial console enable Tx fix
  2006-05-27  1:49 [PATCH 2.6.16.18] 8250: Serial console enable Tx fix Michael Hordijk
@ 2006-06-02 16:48 ` Russell King
  0 siblings, 0 replies; 2+ messages in thread
From: Russell King @ 2006-06-02 16:48 UTC (permalink / raw)
  To: Michael Hordijk; +Cc: linux-serial

On Fri, May 26, 2006 at 09:49:12PM -0400, Michael Hordijk wrote:
>     Enabling the Tx interrupt from console_write on buggy UART 
>     (UART_BUG_TXEN) breaks console transmit on said UART.  Revert to previous 
> UART_IER restore and use serial8250_start_tx() to cause the transmit path 
> to start and not hang.

Please look at how this got solved in the 2.6.17-rc kernels and
implement the same fix.  Enabling the transmitter at the end of
every console write is just plain buggy and asking for problems.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-06-02 16:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-27  1:49 [PATCH 2.6.16.18] 8250: Serial console enable Tx fix Michael Hordijk
2006-06-02 16:48 ` Russell King

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).