On Feb 6, 2006, at 1:38 PM, Alan Cox wrote:
On Llu, 2006-02-06 at 13:14 -0600, Kumar Gala wrote:
Can you explain further why you had to change wait_for_xmitr() from
testing BOTH_EMPTY to UART_LSR_THRE.
Because you want to wait for the uart to show that it is ready to
accept
a character, not that the byte has been clocked out entirely. Thats
essential for working with virtual serial ports on servers as they use
the fact there is no pending character to work out how to packetize it
as a TCP stream.
Also, what exactly would you be looking for in a register dump?
When it gets stuck what state are the serial chip registers in and
where
is the OS hanging ?
The following seems to make things better for me. Can you take a
look and let me know what you thing. If it looks good, I'll send
Russell a clean patch:
- kumar
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
index 179c1f0..b1fc97d 100644
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
@@ -2229,6 +2229,7 @@ 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);
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]