aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/820-usb-0017-MLK-19153-2-usb-host-xhci-do-not-return-error-status.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/patches-5.4/820-usb-0017-MLK-19153-2-usb-host-xhci-do-not-return-error-status.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/820-usb-0017-MLK-19153-2-usb-host-xhci-do-not-return-error-status.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0017-MLK-19153-2-usb-host-xhci-do-not-return-error-status.patch b/target/linux/layerscape/patches-5.4/820-usb-0017-MLK-19153-2-usb-host-xhci-do-not-return-error-status.patch
new file mode 100644
index 0000000000..ba95233ea3
--- /dev/null
+++ b/target/linux/layerscape/patches-5.4/820-usb-0017-MLK-19153-2-usb-host-xhci-do-not-return-error-status.patch
@@ -0,0 +1,39 @@
+From c1f9fa8de2548172a69f35aeb6a43daedac7cb30 Mon Sep 17 00:00:00 2001
+From: Peter Chen <peter.chen@nxp.com>
+Date: Mon, 5 Mar 2018 09:13:26 +0800
+Subject: [PATCH] MLK-19153-2 usb: host: xhci: do not return error status for
+ URB
+
+Current XHCI implementation does not consider completion interrupt
+for SETUP packet standalone, so it will show warning message
+and return error status for URB. In fact, it can support it. In
+this commit, we change warning message as debug message and set
+status as zero for URB.
+
+Support completion interrupt for SETUP packet is needed for USB EH2.0
+SINGLE_STEP_SET_FEATURE Test.
+
+Acked-by: Jun Li <jun.li@nxp.com>
+Signed-off-by: Peter Chen <peter.chen@nxp.com>
+(cherry picked from commit 78b212e8c2e083f513610efdff60b58c986381de)
+---
+ drivers/usb/host/xhci-ring.c | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+--- a/drivers/usb/host/xhci-ring.c
++++ b/drivers/usb/host/xhci-ring.c
+@@ -2027,12 +2027,9 @@ static int process_ctrl_td(struct xhci_h
+
+ switch (trb_comp_code) {
+ case COMP_SUCCESS:
+- if (trb_type != TRB_STATUS) {
+- xhci_warn(xhci, "WARN: Success on ctrl %s TRB without IOC set?\n",
++ if (trb_type != TRB_STATUS)
++ xhci_dbg(xhci, "Success on ctrl %s TRB without IOC set?\n",
+ (trb_type == TRB_DATA) ? "data" : "setup");
+- *status = -ESHUTDOWN;
+- break;
+- }
+ *status = 0;
+ break;
+ case COMP_SHORT_PACKET: