--- linux-2.4.4/drivers/usb/acm.c Fri Feb 16 16:06:17 2001 +++ linux-2.4/drivers/usb/acm.c Thu May 10 21:29:29 2001 @@ -233,8 +240,14 @@ dbg("nonzero read bulk status received: %d", urb->status); if (!urb->status & !acm->throttle) { - for (i = 0; i < urb->actual_length && !acm->throttle; i++) + for (i = 0; i < urb->actual_length && !acm->throttle; i++) { + /* if we insert more than TTY_FLIPBUF_SIZE characters, + * we drop them. */ + if (tty->flip.count >= TTY_FLIPBUF_SIZE) { + tty_flip_buffer_push(tty); + } tty_insert_flip_char(tty, data[i], 0); + } tty_flip_buffer_push(tty); }