I haven't done anything in the usb host controller drivers yet, so here's my question: I sometimes see "xHCI host not responding to stop endpoint command." which is obviously followed by "xhci died" and nothing works anymore. I see it after "Port resume timed out, port 1-1: 0xfe3" so resuming somehow fails. How would I distinguish between ETIMEDOUT and other paths when we're in xhci_stop_endpoint_command_watchdog() before calling xhci_hc_died()? How would a "host controller reset" look like, when I'd want to test? Something similar to suspend and resume, or something even simpler? I'd be very happy about some hints from usb developers as a first step here. thank you all a lot! martin --- drivers/usb/host/xhci-ring.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c index a0623b2b4dd6..d5c0e119e1da 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -1293,7 +1293,7 @@ void xhci_stop_endpoint_command_watchdog(struct timer_list *t) /* * handle a stop endpoint cmd timeout as if host died (-ENODEV). - * In the future we could distinguish between -ENODEV and -ETIMEDOUT + * TODO In the future we could distinguish between -ENODEV and -ETIMEDOUT * and try to recover a -ETIMEDOUT with a host controller reset */ xhci_hc_died(xhci); -- 2.30.2