diff options
author | Felipe Balbi <balbi@ti.com> | 2012-05-24 10:27:56 +0300 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2012-06-03 23:08:25 +0300 |
commit | fcc023c726b5879d8f3f0f0f48c45d09055272c4 (patch) | |
tree | b5a88957b7fdc046305c98eb034e6f0d25780c22 /drivers/usb/dwc3 | |
parent | 7acd85e0eb2ed300edf123178445237059b35fb9 (diff) | |
download | talos-op-linux-fcc023c726b5879d8f3f0f0f48c45d09055272c4.tar.gz talos-op-linux-fcc023c726b5879d8f3f0f0f48c45d09055272c4.zip |
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: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/dwc3')
-rw-r--r-- | drivers/usb/dwc3/gadget.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 04048333ec1a..867c476853ec 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -1307,6 +1307,7 @@ static int dwc3_gadget_wakeup(struct usb_gadget *g) /* Recent versions do this automatically */ if (dwc->revision < DWC3_REVISION_194A) { /* write zeroes to Link Change Request */ + reg = dwc3_readl(dwc->regs, DWC3_DCTL); reg &= ~DWC3_DCTL_ULSTCHNGREQ_MASK; dwc3_writel(dwc->regs, DWC3_DCTL, reg); } |