USB: musb: add missing unlock in cppi_interrupt()
authorDan Carpenter <error27@gmail.com>
Sun, 20 Mar 2011 11:14:36 +0000 (14:14 +0300)
committerFelipe Balbi <balbi@ti.com>
Wed, 13 Apr 2011 08:50:58 +0000 (11:50 +0300)
We should unlock before returning here.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/musb/cppi_dma.c

index de55a3c3259ac1a403e3c4d730781eeb63fda77c..6385eeb44a0721bb2651f272f68e1340c0b8897d 100644 (file)
@@ -1167,8 +1167,11 @@ irqreturn_t cppi_interrupt(int irq, void *dev_id)
        tx = musb_readl(tibase, DAVINCI_TXCPPI_MASKED_REG);
        rx = musb_readl(tibase, DAVINCI_RXCPPI_MASKED_REG);
 
-       if (!tx && !rx)
+       if (!tx && !rx) {
+               if (cppi->irq)
+                       spin_unlock_irqrestore(&musb->lock, flags);
                return IRQ_NONE;
+       }
 
        DBG(4, "CPPI IRQ Tx%x Rx%x\n", tx, rx);