Overrun of received data with CDC-ACM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



With a high speed cdc-acm device, I sometimes lose received data
due to overruns in the tty buffer layer.

Even though cdc-acm implements throttling, the throttle must be
explicitly activated by the ldisc code. But before the ldisc becomes
aware of received data, the data first go into tty_buffer.c.
That buffer has a maximum size of 64 kB. A high speed device can fill
it up before the ldisc even knows that something is going on.

Is there any way I can solve this?

The problem seems to be the weak coupling between hardware driver and
ldisc. Would it be better to implement flow control between tty_buffer.c
and the hardware driver, instead of between ldisc and hardware driver?

Greetings, Joris.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux