diff options
author | Roger Quadros <[email protected]> | 2016-08-15 10:47:39 +0300 |
---|---|---|
committer | Brian Norris <[email protected]> | 2016-08-29 12:54:39 -0700 |
commit | a93295a7e118b5c58391906e47183775b1eb7cb1 (patch) | |
tree | 1a7e73c36ab3aae28dc4ae967c974f40a72b0046 | |
parent | 29b4817d4018df78086157ea3a55c1d9424a7cfc (diff) |
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 <[email protected]>
Signed-off-by: Roger Quadros <[email protected]>
Acked-by: Boris Brezillon <[email protected]>
Signed-off-by: Brian Norris <[email protected]>
-rw-r--r-- | drivers/mtd/nand/omap2.c | 2 |
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); |