diff options
author | Felipe Balbi <balbi@ti.com> | 2015-10-12 21:25:44 +0300 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2015-10-12 21:32:05 +0300 |
commit | e5f68b4a3e7b006f209aba078d6a5ff3a78dd783 (patch) | |
tree | d89ba4e1a9064ca671dabfe0dd875cc4f88cdf8c /drivers/usb/dwc3 | |
parent | 5527e73305e8a9958b00331902a27514e62d539b (diff) | |
download | linux-e5f68b4a3e7b006f209aba078d6a5ff3a78dd783.tar.xz |
Revert "usb: dwc3: gadget: remove unnecessary _irqsave()"
This reverts commit 70f3a9caa11665e9f9aace581d85d8483716a4c8.
That commit was causing a lockdep splat with g_ether and that
was interfering with proper functionality.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/dwc3')
-rw-r--r-- | drivers/usb/dwc3/gadget.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index cca806e09e5b..81bfb9ad1e2e 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -2642,15 +2642,16 @@ static irqreturn_t dwc3_process_event_buf(struct dwc3 *dwc, u32 buf) static irqreturn_t dwc3_thread_interrupt(int irq, void *_dwc) { struct dwc3 *dwc = _dwc; + unsigned long flags; irqreturn_t ret = IRQ_NONE; int i; - spin_lock(&dwc->lock); + spin_lock_irqsave(&dwc->lock, flags); for (i = 0; i < dwc->num_event_buffers; i++) ret |= dwc3_process_event_buf(dwc, i); - spin_unlock(&dwc->lock); + spin_unlock_irqrestore(&dwc->lock, flags); return ret; } |