summaryrefslogtreecommitdiffstats
path: root/drivers/usb/dwc3/debugfs.c
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2011-10-20 18:43:07 +0200
committerFelipe Balbi <balbi@ti.com>2011-12-12 10:48:19 +0100
commitc5537ea531d83b7d02ce2d52a5e2b90f526449d0 (patch)
treea003b14a5994ff8df10c4d121b5a9d3b13dd0dbd /drivers/usb/dwc3/debugfs.c
parentusb: dwc3: add a platform device alias (diff)
downloadlinux-c5537ea531d83b7d02ce2d52a5e2b90f526449d0.tar.xz
linux-c5537ea531d83b7d02ce2d52a5e2b90f526449d0.zip
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.c2
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);