mirror of
https://github.com/torvalds/linux.git
synced 2024-11-01 01:31:44 +00:00
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>
This commit is contained in:
parent
7ae4fc4dc8
commit
c5537ea531
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user