Revert "usb: dwc3: gadget: remove unnecessary _irqsave()"
authorFelipe Balbi <balbi@ti.com>
Mon, 12 Oct 2015 18:25:44 +0000 (13:25 -0500)
committerFelipe Balbi <balbi@ti.com>
Mon, 12 Oct 2015 18:32:05 +0000 (13:32 -0500)
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>
drivers/usb/dwc3/gadget.c

index cca806e09e5bcd747d9795b7c041d3b69a8e47e6..81bfb9ad1e2ebbf99a1b874e893a64cd92aca61e 100644 (file)
@@ -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;
 }