summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSanchayan Maity <maitysanchayan@gmail.com>2016-11-22 08:01:32 +0100
committerMark Brown <broonie@kernel.org>2016-11-22 17:47:09 +0100
commit27d21e9f988e527982a7516fcf411994f498787d (patch)
tree0373e2a512c1e4f1a33c159077bbf96a76de71cd /drivers
parentspi: spi-fsl-dspi: Fix SPI transfer issue when using multiple SPI_IOC_MESSAGE (diff)
downloadlinux-27d21e9f988e527982a7516fcf411994f498787d.tar.xz
linux-27d21e9f988e527982a7516fcf411994f498787d.zip
spi: spi-fsl-dspi: Fix incorrect freeing of DMA allocated buffers
Buffers allocated with a call to dma_alloc_coherent should be freed with dma_free_coherent instead of the currently used devm_kfree. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/spi/spi-fsl-dspi.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c
index b1ee1f521ba0..22f7ce1279bd 100644
--- a/drivers/spi/spi-fsl-dspi.c
+++ b/drivers/spi/spi-fsl-dspi.c
@@ -427,9 +427,11 @@ static int dspi_request_dma(struct fsl_dspi *dspi, phys_addr_t phy_addr)
return 0;
err_slave_config:
- devm_kfree(dev, dma->rx_dma_buf);
+ dma_free_coherent(dev, DSPI_DMA_BUFSIZE,
+ dma->rx_dma_buf, dma->rx_dma_phys);
err_rx_dma_buf:
- devm_kfree(dev, dma->tx_dma_buf);
+ dma_free_coherent(dev, DSPI_DMA_BUFSIZE,
+ dma->tx_dma_buf, dma->tx_dma_phys);
err_tx_dma_buf:
dma_release_channel(dma->chan_tx);
err_tx_channel: