Hi, I looked at xhci_configure_endpoint() in the stable tree. There is a serious bug: /* Wait for the configure endpoint command to complete */ timeleft = wait_for_completion_interruptible_timeout( ^ -ERESTARTSYS in the signal case cmd_completion, XHCI_CMD_DEFAULT_TIMEOUT); if (timeleft <= 0) { xhci_warn(xhci, "%s while waiting for %s command\n", timeleft == 0 ? "Timeout" : "Signal", ctx_change == 0 ? "configure endpoint" : "evaluate context"); /* cancel the configure endpoint command */ ret = xhci_cancel_cmd(xhci, command, cmd_trb); if (ret < 0) return ret; return -ETIME; ^ -ERESTARTSYS is swallowed } A simple ill-timed signal can cause a timeout to be reported. This issue is fixed in upstream with c311e391a7efd101250c0e123286709b7e736249 That change and its dependencies are really no stable material. So how about a fix along the lines of: /* Wait for the configure endpoint command to complete */ - timeleft = wait_for_completion_interruptible_timeout( + timeleft = wait_for_completion_timeout( I have a patch ready to submit. 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