Re: [PATCH] USB: ftdi_sio: Remove tty->low_latency.

From: Johan Hovold
Date: Tue Sep 29 2009 - 10:55:27 EST


On Fri, Sep 25, 2009 at 07:46:51PM +0200, Michael Trimarchi wrote:
> Johan Hovold wrote:
> > On Thu, Sep 24, 2009 at 08:21:07PM +0100, Alan Cox wrote:
> >> ftdi_sio is correct with low_latency set as it uses a work queue to
> >> process the packets received.
> >>
> > AFAICT it only uses the work queue if tty_buffer_request_room fails to
> > allocate enough space. This being the exception, the completion
> > handler normally processes the packets in interrupt context and this is
> > where I get my lockdep traces (and it happens every time I hit the echo
> > or throttle paths).
> >
> Using two urb, double buffering and schedule a tasklet to complete the
> the reading phase. The usb will use the other free urb during receiving
> process.
> I think remove tty_latency is not a good fix.

What do you say, Alan? Should ftdi_sio be rewritten so that it actually
defers all processing, or should low_latency go?

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?

Regards,
Johan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/