On Mon, 15 Aug 2016 10:47:39 +0300 Roger Quadros <rog...@ti.com> wrote:
> 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.carpen...@oracle.com> > Signed-off-by: Roger Quadros <rog...@ti.com> Acked-by: Boris Brezillon <boris.brezil...@free-electrons.com> Brian, can you apply this fix directly? > --- > drivers/mtd/nand/omap2.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c > index a59361c..5513bfd9 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);