Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753533AbcLMJWr (ORCPT ); Tue, 13 Dec 2016 04:22:47 -0500 Received: from mail-pf0-f169.google.com ([209.85.192.169]:35443 "EHLO mail-pf0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753229AbcLMJWo (ORCPT ); Tue, 13 Dec 2016 04:22:44 -0500 From: Baolin Wang To: mathias.nyman@intel.com, gregkh@linuxfoundation.org Cc: baolu.lu@linux.intel.com, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, broonie@kernel.org, baolin.wang@linaro.org Subject: [PATCH] usb: host: xhci: Clean up commands when stop endpoint command is timeout Date: Tue, 13 Dec 2016 17:22:21 +0800 Message-Id: <8cd249e878a07a7b97f14a7f7aef280420522805.1481620625.git.baolin.wang@linaro.org> X-Mailer: git-send-email 1.7.9.5 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 905 Lines: 24 Since the stop endpoint command is timeout, we will halt the xHCI controller and issuing the usb_hc_died() to report abnormal shutdown of a host controller, but before that, we should clean up the command queue to free commands memory and complete the pending commands. Signed-off-by: Baolin Wang --- drivers/usb/host/xhci-ring.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c index edc9ac2..92b48fe 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -904,6 +904,7 @@ void xhci_stop_endpoint_command_watchdog(unsigned long arg) xhci_kill_endpoint_urbs(xhci, i, j); } spin_unlock_irqrestore(&xhci->lock, flags); + xhci_cleanup_command_queue(xhci); xhci_dbg_trace(xhci, trace_xhci_dbg_cancel_urb, "Calling usb_hc_died()"); usb_hc_died(xhci_to_hcd(xhci)); -- 1.7.9.5