On Mon, 2016-06-13 at 00:37 +0200, Ladislav Michl wrote: > On Sun, Jun 12, 2016 at 11:03:45PM +0200, Ladislav Michl wrote: > > Once ttyACM0 starts behave strangely, read() returns only what's in buffer before > > ttyACM0 was opened and then hangs infinitely. As this bug is hard to trigger, has > > anyone clue where to start debugging? > > Forgot to mention, once this happens "usb 3-1.4: clear tt 1 (9061) error -75" > starts showing in the syslog. Also "cdc_acm 3-1.4.3:1.0: failed to set dtr/rts", > but this one is there normally. The translation transactor in the hub is reporting an error. That should be reported to the driver, but there is no good error handling. static void acm_read_bulk_callback(struct urb *urb) { struct acm_rb *rb = urb->context; struct acm *acm = rb->instance; unsigned long flags; int status = urb->status; dev_vdbg(&acm->data->dev, "%s - urb %d, len %d\n", __func__, rb->index, urb->actual_length); if (!acm->dev) { set_bit(rb->index, &acm->read_urbs_free); dev_dbg(&acm->data->dev, "%s - disconnected\n", __func__); return; } if (status) { set_bit(rb->index, &acm->read_urbs_free); dev_dbg(&acm->data->dev, "%s - non-zero urb status: %d\n", __func__, status); if ((status != -ENOENT) || (urb->actual_length == 0)) return; } Can you please switch on dynamic debugging for cdc_acm to see what is being reported? 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