From: Felipe Balbi Date: Mon, 12 Oct 2015 18:25:44 +0000 (-0500) Subject: Revert "usb: dwc3: gadget: remove unnecessary _irqsave()" X-Git-Tag: firefly_0821_release~176^2~804^2~12^2~13 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e5f68b4a3e7b006f209aba078d6a5ff3a78dd783;p=firefly-linux-kernel-4.4.55.git 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 --- 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; }