Browse Source

dmaengine: rcar-dmac: Fixed active descriptor initializing

Running descriptor pointer is set to NULL upon freeing resources. Other-
wise, rcar_dmac_issue_pending might not start new transfers

Signed-off-by: Muhammad Hamza Farooq <mfarooq@visteon.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Muhammad Hamza Farooq 9 years ago
parent
commit
48c73659ab
1 changed files with 2 additions and 0 deletions
  1. 2 0
      drivers/dma/sh/rcar-dmac.c

+ 2 - 0
drivers/dma/sh/rcar-dmac.c

@@ -990,6 +990,8 @@ static void rcar_dmac_free_chan_resources(struct dma_chan *chan)
 	list_splice_init(&rchan->desc.done, &list);
 	list_splice_init(&rchan->desc.done, &list);
 	list_splice_init(&rchan->desc.wait, &list);
 	list_splice_init(&rchan->desc.wait, &list);
 
 
+	rchan->desc.running = NULL;
+
 	list_for_each_entry(desc, &list, node)
 	list_for_each_entry(desc, &list, node)
 		rcar_dmac_realloc_hwdesc(rchan, desc, 0);
 		rcar_dmac_realloc_hwdesc(rchan, desc, 0);