aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/dma/hsu/hsu.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/dma/hsu/hsu.c b/drivers/dma/hsu/hsu.c
index 9b84def7a353..f42f71e37e73 100644
--- a/drivers/dma/hsu/hsu.c
+++ b/drivers/dma/hsu/hsu.c
@@ -384,7 +384,10 @@ static int hsu_dma_terminate_all(struct dma_chan *chan)
384 spin_lock_irqsave(&hsuc->vchan.lock, flags); 384 spin_lock_irqsave(&hsuc->vchan.lock, flags);
385 385
386 hsu_dma_stop_channel(hsuc); 386 hsu_dma_stop_channel(hsuc);
387 hsuc->desc = NULL; 387 if (hsuc->desc) {
388 hsu_dma_desc_free(&hsuc->desc->vdesc);
389 hsuc->desc = NULL;
390 }
388 391
389 vchan_get_all_descriptors(&hsuc->vchan, &head); 392 vchan_get_all_descriptors(&hsuc->vchan, &head);
390 spin_unlock_irqrestore(&hsuc->vchan.lock, flags); 393 spin_unlock_irqrestore(&hsuc->vchan.lock, flags);