Loosing chars on serial console in 2.4

From: Joakim Tjernlund (joakim.tjernlund@lumentis.se)
Date: Thu Feb 13 2003 - 09:03:35 EST


Hi List.

If I paste text into my serial console, some chars aren't echoed back. I also
loose some chars when doing reboot and init starts to print messages.

This is due to that almost no user of opost() bothers to check its return
value. The patch below fixes the problem, but it is ugly and possibly buggy.
I don't know how to fix this properly.

HW: custom 860 board at 115200 baud, using the standard arch/ppc/8xx_io/uart.c driver.

 Jocke

--- drivers/char/n_tty.c 1 Nov 2002 13:43:27 -0000 1.1.1.1
+++ drivers/char/n_tty.c 13 Feb 2003 13:45:33 -0000
@@ -186,8 +186,14 @@
 static int opost(unsigned char c, struct tty_struct *tty)
 {
         int space, spaces;
+#if 1
+ unsigned long tmo = jiffies + HZ/10;
 
+ while(!(space = tty->driver.write_room(tty)) && !in_interrupt() && !time_after(jiffies, tmo))
+ cond_resched();
+#else
         space = tty->driver.write_room(tty);
+#endif
         if (!space)
                 return -1;
 

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Feb 15 2003 - 22:00:47 EST