From: Andy Shevchenko <andriy.shevche...@linux.intel.com>

To be sure we have the cyclic transfers already gone we set cdesc to NULL. It
will prevent the double free.

Signed-off-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>
Signed-off-by: Mans Rullgard <m...@mansr.com>
---
 drivers/dma/dw/core.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/dma/dw/core.c b/drivers/dma/dw/core.c
index b6634adf24f9..5606deb7f060 100644
--- a/drivers/dma/dw/core.c
+++ b/drivers/dma/dw/core.c
@@ -1480,6 +1480,8 @@ void dw_dma_cyclic_free(struct dma_chan *chan)
        kfree(cdesc->desc);
        kfree(cdesc);
 
+       dwc->cdesc = NULL;
+
        clear_bit(DW_DMA_IS_CYCLIC, &dwc->flags);
 }
 EXPORT_SYMBOL(dw_dma_cyclic_free);
-- 
2.7.0

Reply via email to