From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.bootlin.com ([62.4.15.54]) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1fiM28-0000T6-Hr for linux-mtd@lists.infradead.org; Wed, 25 Jul 2018 15:49:01 +0000 Date: Wed, 25 Jul 2018 17:48:39 +0200 From: Boris Brezillon To: Miquel Raynal Cc: Richard Weinberger , David Woodhouse , Brian Norris , Marek Vasut , linux-mtd@lists.infradead.org, Wenyou Yang , Josh Wu , Stefan Agner , Lucas Stach Subject: Re: [PATCH v5 09/17] mtd: rawnand: jz4740: fix probe function error path Message-ID: <20180725174839.20d1530a@bbrezillon> In-Reply-To: <20180725133152.30898-10-miquel.raynal@bootlin.com> References: <20180725133152.30898-1-miquel.raynal@bootlin.com> <20180725133152.30898-10-miquel.raynal@bootlin.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Wed, 25 Jul 2018 15:31:44 +0200 Miquel Raynal 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 Reviewed-by: Boris Brezillon > --- > 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];