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 -- 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