aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/dma/sh/rcar-dmac.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/dma/sh/rcar-dmac.c b/drivers/dma/sh/rcar-dmac.c
index 8367578bac63..5a6b85527107 100644
--- a/drivers/dma/sh/rcar-dmac.c
+++ b/drivers/dma/sh/rcar-dmac.c
@@ -487,16 +487,16 @@ static int rcar_dmac_desc_alloc(struct rcar_dmac_chan *chan, gfp_t gfp)
487 * 487 *
488 * The descriptor must have been removed from the channel's lists before calling 488 * The descriptor must have been removed from the channel's lists before calling
489 * this function. 489 * this function.
490 *
491 * Locking: Must be called in non-atomic context.
492 */ 490 */
493static void rcar_dmac_desc_put(struct rcar_dmac_chan *chan, 491static void rcar_dmac_desc_put(struct rcar_dmac_chan *chan,
494 struct rcar_dmac_desc *desc) 492 struct rcar_dmac_desc *desc)
495{ 493{
496 spin_lock_irq(&chan->lock); 494 unsigned long flags;
495
496 spin_lock_irqsave(&chan->lock, flags);
497 list_splice_tail_init(&desc->chunks, &chan->desc.chunks_free); 497 list_splice_tail_init(&desc->chunks, &chan->desc.chunks_free);
498 list_add_tail(&desc->node, &chan->desc.free); 498 list_add_tail(&desc->node, &chan->desc.free);
499 spin_unlock_irq(&chan->lock); 499 spin_unlock_irqrestore(&chan->lock, flags);
500} 500}
501 501
502static void rcar_dmac_desc_recycle_acked(struct rcar_dmac_chan *chan) 502static void rcar_dmac_desc_recycle_acked(struct rcar_dmac_chan *chan)