diff options
author | Ezequiel Garcia <ezequiel.garcia@free-electrons.com> | 2013-12-10 09:57:15 -0300 |
---|---|---|
committer | Brian Norris <computersforpeace@gmail.com> | 2013-12-12 15:02:04 -0800 |
commit | 15b540c71cac840f0a3e8b1b4b7a773deb847ffb (patch) | |
tree | 36633b7abe131264da0ca4826351a58e988998b8 /drivers/mtd | |
parent | 9c59ac616137fb62f6cb3f1219201b09cbcf30be (diff) | |
download | linux-15b540c71cac840f0a3e8b1b4b7a773deb847ffb.tar.gz linux-15b540c71cac840f0a3e8b1b4b7a773deb847ffb.tar.bz2 linux-15b540c71cac840f0a3e8b1b4b7a773deb847ffb.zip |
mtd: nand: pxa3xx: Use info->use_dma to release DMA resources
In commit:
commit 62e8b851783138a11da63285be0fbf69530ff73d
Author: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Date: Fri Oct 4 15:30:38 2013 -0300
mtd: nand: pxa3xx: Allocate data buffer on detected flash size
the way the buffer is allocated was changed: the first READ_ID is issued
with a small kmalloc'ed buffer. Only once the flash page size is detected
the DMA buffers are allocated, and info->use_dma is set.
Currently, if the device detection fails, the driver checks the 'use_dma'
module parameter and tries to release unallocated DMA resources.
Fix this by checking the proper indicator of the DMA allocation, which
is 'info->use_dma'.
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Diffstat (limited to 'drivers/mtd')
-rw-r--r-- | drivers/mtd/nand/pxa3xx_nand.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c index f3d4feafd02b..4b3aaa898a8b 100644 --- a/drivers/mtd/nand/pxa3xx_nand.c +++ b/drivers/mtd/nand/pxa3xx_nand.c @@ -962,7 +962,7 @@ static int pxa3xx_nand_init_buff(struct pxa3xx_nand_info *info) static void pxa3xx_nand_free_buff(struct pxa3xx_nand_info *info) { struct platform_device *pdev = info->pdev; - if (use_dma) { + if (info->use_dma) { pxa_free_dma(info->data_dma_ch); dma_free_coherent(&pdev->dev, info->buf_size, info->data_buff, info->data_buff_phys); |