From 3af886044c1c4cc6703c528f8032bcb8d7586ffb Mon Sep 17 00:00:00 2001 From: lw Date: Wed, 29 Feb 2012 17:36:39 +0800 Subject: [PATCH] rk30:modify dma_free_coherent operation for spim --- drivers/spi/rk29_spim.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/spi/rk29_spim.c b/drivers/spi/rk29_spim.c index 4086470f73a7..606c53fd4c26 100755 --- a/drivers/spi/rk29_spim.c +++ b/drivers/spi/rk29_spim.c @@ -1988,8 +1988,6 @@ err_diable_hw: free_irq(dws->irq, dws); err_free_master: spi_master_put(master); - dma_free_coherent(&pdev->dev, DMA_BUFFER_SIZE, dws->buffer_tx_dma, dws->tx_dma); - dma_free_coherent(&pdev->dev, DMA_BUFFER_SIZE, dws->buffer_rx_dma, dws->rx_dma); iounmap(dws->regs); exit: return ret; @@ -2006,8 +2004,9 @@ static void __exit rk29xx_spim_remove(struct platform_device *pdev) rk29xx_spim_cpufreq_deregister(dws); mrst_spi_debugfs_remove(dws); - - dma_free_coherent(&pdev->dev, DMA_BUFFER_SIZE, dws->buffer_tx_dma, dws->tx_dma); + if(dws->buffer_tx_dma) + dma_free_coherent(&pdev->dev, DMA_BUFFER_SIZE, dws->buffer_tx_dma, dws->tx_dma); + if(dws->buffer_rx_dma) dma_free_coherent(&pdev->dev, DMA_BUFFER_SIZE, dws->buffer_rx_dma, dws->rx_dma); release_dma(dws); -- 2.34.1