|
@@ -1234,6 +1234,9 @@ static int bam_dma_remove(struct platform_device *pdev)
|
|
bam_dma_terminate_all(&bdev->channels[i].vc.chan);
|
|
bam_dma_terminate_all(&bdev->channels[i].vc.chan);
|
|
tasklet_kill(&bdev->channels[i].vc.task);
|
|
tasklet_kill(&bdev->channels[i].vc.task);
|
|
|
|
|
|
|
|
+ if (!bdev->channels[i].fifo_virt)
|
|
|
|
+ continue;
|
|
|
|
+
|
|
dma_free_wc(bdev->dev, BAM_DESC_FIFO_SIZE,
|
|
dma_free_wc(bdev->dev, BAM_DESC_FIFO_SIZE,
|
|
bdev->channels[i].fifo_virt,
|
|
bdev->channels[i].fifo_virt,
|
|
bdev->channels[i].fifo_phys);
|
|
bdev->channels[i].fifo_phys);
|