Re: [PATCH 4/4] usb: xhci: warn on command timeout in stopped command ring

From: Sergei Shtylyov
Date: Fri Dec 23 2016 - 04:49:43 EST


Hello!

On 12/23/2016 9:52 AM, Lu Baolu wrote:

If xhci host fails to response to a command, the command

s/response/respond/.

watchdog timer will be fired. The callback function will
abort and clear current command and restart the command
execution. If driver fails to restart command execution,
it will assume there is a larger problem in host and
report the situation to the upper layer. In rare cases,
if the driver sees a command timeout in a stopped command
ring, driver should let the user know it.

Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
---
drivers/usb/host/xhci-ring.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 6a23c37..16baefc 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -1308,8 +1308,12 @@ void xhci_handle_command_timeout(struct work_struct *work)
goto time_out_completed;
}

- /* command timeout on stopped ring, ring can't be aborted */
- xhci_dbg(xhci, "Command timeout on stopped ring\n");
+ /*
+ * We should never reach here until a command times out on a stopped
+ * ring and xhci driver has no idea about the reason why the command
+ * ring was stopped.
+ */
+ xhci_warn(xhci, "WARN command timeout on stopped ring\n");

WARNING, maybe?

[...]

MBR, Sergei