summaryrefslogtreecommitdiffstats
path: root/drivers/usb/dwc3
diff options
context:
space:
mode:
authorFelipe Balbi <balbi@ti.com>2013-12-19 16:37:05 -0600
committerFelipe Balbi <balbi@ti.com>2014-03-05 14:40:03 -0600
commit356363bf6b2fc4785d874ef87ed2fad4b8543490 (patch)
treebf707a88b74dd0eb6662ac008bea2d14598b0799 /drivers/usb/dwc3
parent7b2a0368bbc9bc4a7936d8587eaff4b8c35b2247 (diff)
downloadlinux-356363bf6b2fc4785d874ef87ed2fad4b8543490.tar.gz
linux-356363bf6b2fc4785d874ef87ed2fad4b8543490.tar.bz2
linux-356363bf6b2fc4785d874ef87ed2fad4b8543490.zip
usb: dwc3: gadget: make sure HIRD threshold is 0 in superspeed
During superspeed, HIRD threshold should always be zero. Curent driver wasn't making sure that was the case. Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/dwc3')
-rw-r--r--drivers/usb/dwc3/gadget.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 3934d0afc185..df9749eac6ac 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -2289,6 +2289,10 @@ static void dwc3_gadget_conndone_interrupt(struct dwc3 *dwc)
reg |= DWC3_DCTL_HIRD_THRES(12);
dwc3_writel(dwc->regs, DWC3_DCTL, reg);
+ } else {
+ reg = dwc3_readl(dwc->regs, DWC3_DCTL);
+ reg &= ~DWC3_DCTL_HIRD_THRES_MASK;
+ dwc3_writel(dwc->regs, DWC3_DCTL, reg);
}
dep = dwc->eps[0];