On Wed, 25 Jul 2018 15:31:44 +0200 Miquel Raynal <miquel.raynal at bootlin.com> wrote: > An error after nand_scan_tail() should trigger a nand_cleanup(), not a > nand_release() as mtd_device_register() (or one of its variants) has not > been called and there is no need to deregister any MTD device yet. > > Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com> Reviewed-by: Boris Brezillon <boris.brezillon at bootlin.com> > --- > drivers/mtd/nand/raw/jz4740_nand.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/mtd/nand/raw/jz4740_nand.c b/drivers/mtd/nand/raw/jz4740_nand.c > index a4052b03249c..3abf87420c10 100644 > --- a/drivers/mtd/nand/raw/jz4740_nand.c > +++ b/drivers/mtd/nand/raw/jz4740_nand.c > @@ -472,15 +472,15 @@ static int jz_nand_probe(struct platform_device *pdev) > > if (ret) { > dev_err(&pdev->dev, "Failed to add mtd device\n"); > - goto err_nand_release; > + goto err_cleanup_nand; > } > > dev_info(&pdev->dev, "Successfully registered JZ4740 NAND driver\n"); > > return 0; > > -err_nand_release: > - nand_release(mtd); > +err_cleanup_nand: > + nand_cleanup(chip); > err_unclaim_banks: > while (chipnr--) { > unsigned char bank = nand->banks[chipnr];