Running in hardIRQ context, disabling IRQ is redundant. Cc: Jun Nie <jun.nie@xxxxxxxxxx> Cc: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Vinod Koul <vkoul@xxxxxxxxxx> Signed-off-by: Barry Song <song.bao.hua@xxxxxxxxxxxxx> --- drivers/dma/zx_dma.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/dma/zx_dma.c b/drivers/dma/zx_dma.c index 5fe2e8b9a7b8..b057582b2fac 100644 --- a/drivers/dma/zx_dma.c +++ b/drivers/dma/zx_dma.c @@ -285,9 +285,7 @@ static irqreturn_t zx_dma_int_handler(int irq, void *dev_id) p = &d->phy[i]; c = p->vchan; if (c) { - unsigned long flags; - - spin_lock_irqsave(&c->vc.lock, flags); + spin_lock(&c->vc.lock); if (c->cyclic) { vchan_cyclic_callback(&p->ds_run->vd); } else { @@ -295,7 +293,7 @@ static irqreturn_t zx_dma_int_handler(int irq, void *dev_id) p->ds_done = p->ds_run; task = 1; } - spin_unlock_irqrestore(&c->vc.lock, flags); + spin_unlock(&c->vc.lock); irq_chan |= BIT(i); } } -- 2.25.1