usb: dwc3: gadget: make sure HIRD threshold is 0 in superspeed
authorFelipe Balbi <balbi@ti.com>
Thu, 19 Dec 2013 22:37:05 +0000 (16:37 -0600)
committerFelipe Balbi <balbi@ti.com>
Wed, 5 Mar 2014 20:40:03 +0000 (14:40 -0600)
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>
drivers/usb/dwc3/gadget.c

index 3934d0afc185eb180254d40f6e7dffd8a519331b..df9749eac6ac20ccf511c1c45e552fe484a1bf0d 100644 (file)
@@ -2288,6 +2288,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);
        }