dmaengine: xilinx_dma: Free BD consistent memory
authorKedareswara rao Appana <appana.durga.rao@xilinx.com>
Wed, 3 Jan 2018 06:42:11 +0000 (12:12 +0530)
committerVinod Koul <vinod.koul@intel.com>
Mon, 8 Jan 2018 10:54:50 +0000 (16:24 +0530)
Free BD consistent memory while freeing the channel
i.e in free_chan_resources.

Signed-off-by: Radhey Shyam Pandey <radheys@xilinx.com>
Signed-off-by: Kedareswara rao Appana <appanad@xilinx.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/xilinx/xilinx_dma.c

index 855ea14..27b5235 100644 (file)
@@ -764,6 +764,11 @@ static void xilinx_dma_free_chan_resources(struct dma_chan *dchan)
                INIT_LIST_HEAD(&chan->free_seg_list);
                spin_unlock_irqrestore(&chan->lock, flags);
 
+               /* Free memory that is allocated for BD */
+               dma_free_coherent(chan->dev, sizeof(*chan->seg_v) *
+                                 XILINX_DMA_NUM_DESCS, chan->seg_v,
+                                 chan->seg_p);
+
                /* Free Memory that is allocated for cyclic DMA Mode */
                dma_free_coherent(chan->dev, sizeof(*chan->cyclic_seg_v),
                                  chan->cyclic_seg_v, chan->cyclic_seg_p);