From: lw Date: Wed, 29 Feb 2012 09:36:39 +0000 (+0800) Subject: rk30:modify dma_free_coherent operation for spim X-Git-Tag: firefly_0821_release~9595^2~106 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=3af886044c1c4cc6703c528f8032bcb8d7586ffb;p=firefly-linux-kernel-4.4.55.git rk30:modify dma_free_coherent operation for spim --- 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);