diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2011-10-20 18:43:07 +0200 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2011-12-12 11:48:19 +0200 |
commit | c5537ea531d83b7d02ce2d52a5e2b90f526449d0 (patch) | |
tree | a003b14a5994ff8df10c4d121b5a9d3b13dd0dbd /drivers/usb/dwc3/debugfs.c | |
parent | 7ae4fc4dc835033067096639bd26416b3df744c7 (diff) |
usb: dwc3: debugfs: hold the lock in during mode change
The read and write operation is atomic and we need no locking around
this operations. What we need however is a lock that is held which
ensures that the content of the DWC3_GCTL has not been changed. With
this, the conten may have been change changed after the first but before
our write back.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/dwc3/debugfs.c')
-rw-r--r-- | drivers/usb/dwc3/debugfs.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/usb/dwc3/debugfs.c b/drivers/usb/dwc3/debugfs.c index fc49334a01cf..b5370e781500 100644 --- a/drivers/usb/dwc3/debugfs.c +++ b/drivers/usb/dwc3/debugfs.c @@ -451,7 +451,6 @@ static ssize_t dwc3_mode_write(struct file *file, spin_lock_irqsave(&dwc->lock, flags); reg = dwc3_readl(dwc->regs, DWC3_GCTL); - spin_unlock_irqrestore(&dwc->lock, flags); reg &= ~(DWC3_GCTL_PRTCAPDIR(DWC3_GCTL_PRTCAP_OTG)); @@ -464,7 +463,6 @@ static ssize_t dwc3_mode_write(struct file *file, if (!strncmp(buf, "otg", 3)) reg |= DWC3_GCTL_PRTCAP(DWC3_GCTL_PRTCAP_OTG); - spin_lock_irqsave(&dwc->lock, flags); dwc3_writel(dwc->regs, DWC3_GCTL, reg); spin_unlock_irqrestore(&dwc->lock, flags); |