On Tue, Sep 29, 2009 at 11:52:32PM +0100, Alan Cox wrote: > > As it stands today ftdi_sio does indeed call tty_flip_buffer_push from > > interrupt context with low_latency set and that is obviously incorrect, > > right? > > It seems to do it from a work queue - or did I miss a case ? The function used for deferred work is actually called directly from ftdi_read_bulk_callback: ftdi_process_read(&priv->rx_work.work); It only gets scheduled on the work queue when unthrottled (or if tty_buffer_request_room(tty, length) < length before serial_throttle is called). So basically, unless throttled, it is always called from interrupt context. /Johan -- 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