From: he.he Date: Thu, 29 Aug 2019 11:09:28 +0000 (-0400) Subject: usb: xHCI host not responding to stop endpoint command [1/1] X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=2512e5715af248c9b2c641c57dc27f5d4c8c10b5;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git usb: xHCI host not responding to stop endpoint command [1/1] PD#SWPL-14053 Problem: Read and write simultaneously on two disks on a hub, and then the XHCI controller would halted. Solution: Set the GUCTL1 BIT 17 to 1 for disable park mode. Verify: test pass on u200, ODROID-N2 Change-Id: I007804fa6b97a103da4a05be12c1193b9dd422cb Signed-off-by: he.he --- diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index 3e7b6782c964..f5c8c7f9c795 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -778,6 +778,7 @@ static int dwc3_core_init(struct dwc3 *dwc) #ifdef CONFIG_AMLOGIC_USB reg = dwc3_readl(dwc->regs, DWC3_GUCTL1); reg |= DWC3_GUCTL_NAKPERENHHS; + reg |= DWC3_GUCTL_PARKMODEDISABLESS; dwc3_writel(dwc->regs, DWC3_GUCTL1, reg); reg = dwc3_readl(dwc->regs, DWC3_GUCTL); diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h index a231f4e3bd65..b7edb41ca8b3 100644 --- a/drivers/usb/dwc3/core.h +++ b/drivers/usb/dwc3/core.h @@ -160,6 +160,7 @@ /* Global User Control Register */ #define DWC3_GUCTL_USBHSTINAUTORETRYEN (1 << 14) #define DWC3_GUCTL_NAKPERENHHS (1 << 18) +#define DWC3_GUCTL_PARKMODEDISABLESS BIT(17) #endif /* Global Debug Queue/FIFO Space Available Register */