Messages in this thread | | | From | Oliver Neukum <> | Subject | Re: [PATCH] USB: ftdi_sio: Remove tty->low_latency. | Date | Tue, 17 Nov 2009 19:41:34 +0100 |
| |
Am Dienstag, 17. November 2009 19:35:07 schrieb Eric W. Biederman: > Boiled down. ftdi_chars_in_buffer is essentially > priv->tx_outstanding_bytes. tx_outstanding_bytes is incremented when an > urb request is sent and tx_outstanding_bytes is decremented when an urb > request completes. > > It turns out I have a moderately noisy usb line, and so I occasionally > get messages like: > > ehci_hcd 0000:00:0a.1: detected XactErr len 0/7 retry 31 > > Which as best as I can tell result in the urb getting abandoned and > neither completed nor canceled (because we have hit the maximum > retry count and they still don't succeed).
The URB should be finished with an error code in urb->status. ftdi_write_bulk_callback() does decrement the counter even in the error case.
> Which appears to result in tx_outstanding_bytes getting stuck at > some positive number.
Do you see this message
if (status) { dbg("nonzero write bulk status received: %d", status); return; }
if you enable debugging output?
Regards Oliver
| |