> that g-serial driver interacts with tty layer in that packet-done callback, > so this is the source of the problems. I noticed that some other UDC > drivers also does all its job from an interrupt, so they also might be > affected. How this bug should be properly resolved? Either by not setting ->low-latency or by running the data paths from a non IRQ context. Basically: don't set tty->low-latency if you are handling the processing from the IRQ path. The only case low-latency is useful is handling data from a non-IRQ path where you have latency concerns for tx/rx switching.