summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/omap2.c
diff options
context:
space:
mode:
authorRoger Quadros2016-08-15 09:47:39 +0200
committerBrian Norris2016-08-29 21:54:39 +0200
commita93295a7e118b5c58391906e47183775b1eb7cb1 (patch)
tree1a7e73c36ab3aae28dc4ae967c974f40a72b0046 /drivers/mtd/nand/omap2.c
parentLinux 4.8-rc1 (diff)
downloadkernel-qcow2-linux-a93295a7e118b5c58391906e47183775b1eb7cb1.tar.gz
kernel-qcow2-linux-a93295a7e118b5c58391906e47183775b1eb7cb1.tar.xz
kernel-qcow2-linux-a93295a7e118b5c58391906e47183775b1eb7cb1.zip
mtd: nand: omap2: Don't call dma_release_channel() if dma_request_chan() failed
dma_request_chan() can fail returning an error pointer. In this case prevent calling dma_release_channel() to prevent a ERR_PTR() dereference. As error path can be called even with no DMA configuration, info->dma can be NULL so don't call dma_release_channel() for that case either. Fixes: de3bfc4a1616: ("mtd: nand: omap2: fix return value check in omap_nand_probe()") Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Roger Quadros <rogerq@ti.com> Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Diffstat (limited to 'drivers/mtd/nand/omap2.c')
-rw-r--r--drivers/mtd/nand/omap2.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c
index a59361c36f40..5513bfd9cdc9 100644
--- a/drivers/mtd/nand/omap2.c
+++ b/drivers/mtd/nand/omap2.c
@@ -2169,7 +2169,7 @@ scan_tail:
return 0;
return_error:
- if (info->dma)
+ if (!IS_ERR_OR_NULL(info->dma))
dma_release_channel(info->dma);
if (nand_chip->ecc.priv) {
nand_bch_free(nand_chip->ecc.priv);