summaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorDan Carpenter <error27@gmail.com>2011-03-20 12:14:36 +0100
committerFelipe Balbi <balbi@ti.com>2011-04-13 10:50:58 +0200
commitec63bf6c06b01ceeb6048a2b9fa9e73060259307 (patch)
tree0372673198318c8133093aa37ab971da88d01b54 /drivers/usb
parentusb: musb: ux500: copy dma mask from platform device to musb device (diff)
downloadlinux-ec63bf6c06b01ceeb6048a2b9fa9e73060259307.tar.xz
linux-ec63bf6c06b01ceeb6048a2b9fa9e73060259307.zip
USB: musb: add missing unlock in cppi_interrupt()
We should unlock before returning here. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/musb/cppi_dma.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/usb/musb/cppi_dma.c b/drivers/usb/musb/cppi_dma.c
index de55a3c3259a..6385eeb44a07 100644
--- a/drivers/usb/musb/cppi_dma.c
+++ b/drivers/usb/musb/cppi_dma.c
@@ -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);