Commit fcc023c7 authored by Felipe Balbi's avatar Felipe Balbi
Browse files

usb: dwc3: gadget: prevent DCTL register corruption



If we don't read out the contents of the register
(in order to reinitialize 'reg' variable) we will
be writing unknown contents to the DCTL register
whenever we try to use dwc3_gadget_wakeup() function.

Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 7acd85e0
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -1307,6 +1307,7 @@ static int dwc3_gadget_wakeup(struct usb_gadget *g)
	/* Recent versions do this automatically */
	/* Recent versions do this automatically */
	if (dwc->revision < DWC3_REVISION_194A) {
	if (dwc->revision < DWC3_REVISION_194A) {
		/* write zeroes to Link Change Request */
		/* write zeroes to Link Change Request */
		reg = dwc3_readl(dwc->regs, DWC3_DCTL);
		reg &= ~DWC3_DCTL_ULSTCHNGREQ_MASK;
		reg &= ~DWC3_DCTL_ULSTCHNGREQ_MASK;
		dwc3_writel(dwc->regs, DWC3_DCTL, reg);
		dwc3_writel(dwc->regs, DWC3_DCTL, reg);
	}
	}