As you are already in ISR, it is unnecessary to call spin_lock_irqsave.

Signed-off-by: jun qian <hangdia...@163.com>
Cc: Barry song <21cn...@gmail.com>
---
 drivers/dma/moxart-dma.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/dma/moxart-dma.c b/drivers/dma/moxart-dma.c
index e04499c1f27f..77958f123226 100644
--- a/drivers/dma/moxart-dma.c
+++ b/drivers/dma/moxart-dma.c
@@ -524,7 +524,6 @@ static irqreturn_t moxart_dma_interrupt(int irq, void 
*devid)
        struct moxart_dmadev *mc = devid;
        struct moxart_chan *ch = &mc->slave_chans[0];
        unsigned int i;
-       unsigned long flags;
        u32 ctrl;
 
        dev_dbg(chan2dev(&ch->vc.chan), "%s\n", __func__);
@@ -541,14 +540,14 @@ static irqreturn_t moxart_dma_interrupt(int irq, void 
*devid)
                if (ctrl & APB_DMA_FIN_INT_STS) {
                        ctrl &= ~APB_DMA_FIN_INT_STS;
                        if (ch->desc) {
-                               spin_lock_irqsave(&ch->vc.lock, flags);
+                               spin_lock(&ch->vc.lock);
                                if (++ch->sgidx < ch->desc->sglen) {
                                        moxart_dma_start_sg(ch, ch->sgidx);
                                } else {
                                        vchan_cookie_complete(&ch->desc->vd);
                                        moxart_dma_start_desc(&ch->vc.chan);
                                }
-                               spin_unlock_irqrestore(&ch->vc.lock, flags);
+                               spin_unlock(&ch->vc.lock);
                        }
                }
 
-- 
2.17.1



Reply via email to