Second point, a lot of serial drivers call in their interrupt handler "tty_flip_buffer_push" function. This function must no be called in interrupt context. Why is it done anyway ?
Calling tty_flip_buffer_push() is fine from interrupt as long as tty->low_latency is not set. It just queues work for later.
I was looking at driver for 8250 in 8250.c file and at the end of "receive_chars" interrupt handler, it calls "tty_flip_buffer_push" even if "tty->low_latency" is set since no such test is done before the call... I was also wondering why not always calling "schedule_delayed_work" whatever the state of "tty->latency"?
Franck
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

