Joey Hess had a problem similar to what you described, though he noticed
it while using the pcmcia ricochet modem. He passed along this patch:
--- Serial.c.orig Fri Feb 2 12:55:44 2001
+++ serial.c Fri Feb 2 12:56:43 2001
@@ -569,10 +569,16 @@
icount = &info->state->icount;
do {
-
+ /*
+ * Check if flip buffer is full -- if it is, try to
flip,
+ * and if flipping got queued, return immediately
+ */
+ if (tty->flip.count >= TTY_FLIPBUF_SIZE) {
+ tty->flip.tqueue.routine((void *) tty);
+ if (tty->flip.count >= TTY_FLIPBUF_SIZE)
+ return;
+ }
ch = serial_inp(info, UART_RX);
- if (tty->flip.count >= TTY_FLIPBUF_SIZE)
- goto ignore_char;
*tty->flip.char_buf_ptr = ch;
icount->rx++;
-- Drew Bertola | Send a text message to my pager or cell ... | http://jpager.com/Drew- 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/