1cd8ae19a9
Add backported patched from 5.x from usb related fixes Up kernel version to most recent lts
32 lines
1.1 KiB
Diff
32 lines
1.1 KiB
Diff
From 97311c8f8b6e26d5ba6508f0df430ad80fc59327 Mon Sep 17 00:00:00 2001
|
|
From: Minas Harutyunyan <minas.harutyunyan@synopsys.com>
|
|
Date: Thu, 31 Jan 2019 18:28:07 +0400
|
|
Subject: [PATCH 25/53] usb: dwc2: Fix EP TxFIFO number setting
|
|
|
|
In case when some EP IN is frequently reused, i.e. enabled/disabled by
|
|
function driver. It is required to clear TxFIFO number field in DIEPCTL
|
|
register before setting new number. Otherwise there is probability to
|
|
have same TxFIFO number for different EP's because of OR operator.
|
|
|
|
Signed-off-by: Minas Harutyunyan <hminas@synopsys.com>
|
|
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
|
|
---
|
|
drivers/usb/dwc2/gadget.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c
|
|
index 55ef3cc2701b..e15d8a462085 100644
|
|
--- a/drivers/usb/dwc2/gadget.c
|
|
+++ b/drivers/usb/dwc2/gadget.c
|
|
@@ -4005,6 +4005,7 @@ static int dwc2_hsotg_ep_enable(struct usb_ep *ep,
|
|
ret = -ENOMEM;
|
|
goto error1;
|
|
}
|
|
+ epctrl &= ~(DXEPCTL_TXFNUM_LIMIT << DXEPCTL_TXFNUM_SHIFT);
|
|
hsotg->fifo_map |= 1 << fifo_index;
|
|
epctrl |= DXEPCTL_TXFNUM(fifo_index);
|
|
hs_ep->fifo_index = fifo_index;
|
|
--
|
|
2.11.0
|
|
|