summaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorDan Carpenter <error27@gmail.com>2011-03-20 14:14:36 +0300
committerFelipe Balbi <balbi@ti.com>2011-04-13 11:50:58 +0300
commitec63bf6c06b01ceeb6048a2b9fa9e73060259307 (patch)
tree0372673198318c8133093aa37ab971da88d01b54 /drivers/usb
parent8726606424738ca0341e1bb93ebac956d80f6d29 (diff)
downloadlinux-stable-ec63bf6c06b01ceeb6048a2b9fa9e73060259307.tar.gz
linux-stable-ec63bf6c06b01ceeb6048a2b9fa9e73060259307.tar.bz2
linux-stable-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);