USB: musb: add missing unlock in cppi_interrupt()
PATCH 1/4 USB: musb: add missing unlock in cppi_interrupt()
We should unlock before returning here.
Signed-off-by Dan Carpenter <[email protected]>
---
Compile tested only. Isn't cppi->irq always true at this point?
drivers/usb/musb/cppi_dma.c +4 -1
@@ -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);
Hello.
Quoted 5 lines · Dan Carpenter
We should unlock before returning here.
Signed-off-by Dan Carpenter<[email protected]>---
Compile tested only. Isn'tcppi->irqalways true at this point?
No. It's only true for DM646x, and false for other DaVincis.
Quoted 6 lines
drivers/usb/musb/cppi_dma.c +0
-0@@ -1167,8 +1167,11 @@ irqreturn_t cppi_interrupt(int irq, void *dev_id) tx =musb_readl (tibase,DAVINCI_TXCPPI_MASKED_REG );
drivers/usb/musb/cppi_dma.c irqreturn_t cppi_interrupt(int irq, void *dev_id) · line 1176
Quoted 10 lines
drivers/usb/musb/cppi_dma.c +4
-1rx =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);
Thanks for fixing this.
WBR, Sergei
Felipe Balbi
AppliedQuoted 3 lines · Dan Carpenter
We should unlock before returning here.
Signed-off-by Dan Carpenter <[email protected]>
applied, thanks
Signature · 1 line
balbi