aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhaoxiong Yuan <yuanzhx326@gmail.com>2018-09-07 15:02:10 -0400
committerVinod Koul <vkoul@kernel.org>2018-09-11 03:43:40 -0400
commit7645d26f3b35c2bd6e0e1d3867636e5bdad97b1b (patch)
treecfbc6641e07d5f14f3d56cf517643d37c1e49ed3
parent5b394b2ddf0347bef56e50c69a58773c94343ff3 (diff)
dmaengine: idma64: replace spin_lock_irqsave with spin_lock
idma64_chan_irq() is invoked in hardirq handle function, it is unnecessary to call spin_lock_irqsave. Signed-off-by: Zhaoxiong Yuan <yuanzhx326@gmail.com> Signed-off-by: Vinod Koul <vkoul@kernel.org>
-rw-r--r--drivers/dma/idma64.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/dma/idma64.c b/drivers/dma/idma64.c
index 1fbf9cb9b742..5b9c1566ad73 100644
--- a/drivers/dma/idma64.c
+++ b/drivers/dma/idma64.c
@@ -142,9 +142,8 @@ static void idma64_chan_irq(struct idma64 *idma64, unsigned short c,
142{ 142{
143 struct idma64_chan *idma64c = &idma64->chan[c]; 143 struct idma64_chan *idma64c = &idma64->chan[c];
144 struct idma64_desc *desc; 144 struct idma64_desc *desc;
145 unsigned long flags;
146 145
147 spin_lock_irqsave(&idma64c->vchan.lock, flags); 146 spin_lock(&idma64c->vchan.lock);
148 desc = idma64c->desc; 147 desc = idma64c->desc;
149 if (desc) { 148 if (desc) {
150 if (status_err & (1 << c)) { 149 if (status_err & (1 << c)) {
@@ -161,7 +160,7 @@ static void idma64_chan_irq(struct idma64 *idma64, unsigned short c,
161 if (idma64c->desc == NULL || desc->status == DMA_ERROR) 160 if (idma64c->desc == NULL || desc->status == DMA_ERROR)
162 idma64_stop_transfer(idma64c); 161 idma64_stop_transfer(idma64c);
163 } 162 }
164 spin_unlock_irqrestore(&idma64c->vchan.lock, flags); 163 spin_unlock(&idma64c->vchan.lock);
165} 164}
166 165
167static irqreturn_t idma64_irq(int irq, void *dev) 166static irqreturn_t idma64_irq(int irq, void *dev)