diff options
author | Vinod Koul <vinod.koul@intel.com> | 2018-04-10 06:25:30 +0300 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2018-04-10 06:25:30 +0300 |
commit | f18b46190c62858fe04414e8ee9efea26f759e91 (patch) | |
tree | 7bd47311c76e444ccbb0a7aebdc0f0eb3cd4e8b0 | |
parent | c21bd0a86789ed54cf7dfb948c590766484a585c (diff) | |
parent | a3ca831249ca8c4c226e4ceafee04e280152e59d (diff) | |
download | linux-f18b46190c62858fe04414e8ee9efea26f759e91.tar.xz |
Merge branch 'topic/pl330' into for-linus
-rw-r--r-- | drivers/dma/pl330.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c index d7327fd5f445..de1fd59fe136 100644 --- a/drivers/dma/pl330.c +++ b/drivers/dma/pl330.c @@ -1510,7 +1510,7 @@ static void pl330_dotask(unsigned long data) /* Returns 1 if state was updated, 0 otherwise */ static int pl330_update(struct pl330_dmac *pl330) { - struct dma_pl330_desc *descdone, *tmp; + struct dma_pl330_desc *descdone; unsigned long flags; void __iomem *regs; u32 val; @@ -1588,7 +1588,9 @@ static int pl330_update(struct pl330_dmac *pl330) } /* Now that we are in no hurry, do the callbacks */ - list_for_each_entry_safe(descdone, tmp, &pl330->req_done, rqd) { + while (!list_empty(&pl330->req_done)) { + descdone = list_first_entry(&pl330->req_done, + struct dma_pl330_desc, rqd); list_del(&descdone->rqd); spin_unlock_irqrestore(&pl330->lock, flags); dma_pl330_rqcb(descdone, PL330_ERR_NONE); |