| From foo@baz Fri Apr 9 11:45:07 AM CEST 2021 |
| From: Miquel Raynal <miquel.raynal@bootlin.com> |
| Date: Tue, 19 May 2020 15:00:13 +0200 |
| Subject: mtd: rawnand: pasemi: Fix the probe error path |
| |
| From: Miquel Raynal <miquel.raynal@bootlin.com> |
| |
| commit f51466901c07e6930435d30b02a21f0841174f61 upstream |
| |
| nand_cleanup() is supposed to be called on error after a successful |
| call to nand_scan() to free all NAND resources. |
| |
| There is no real Fixes tag applying here as the use of nand_release() |
| in this driver predates by far the introduction of nand_cleanup() in |
| commit d44154f969a4 ("mtd: nand: Provide nand_cleanup() function to free NAND related resources") |
| which makes this change possible, hence pointing it as the commit to |
| fix for backporting purposes, even if this commit is not introducing |
| any bug. |
| |
| Fixes: d44154f969a4 ("mtd: nand: Provide nand_cleanup() function to free NAND related resources") |
| Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> |
| Cc: stable@vger.kernel.org |
| Link: https://lore.kernel.org/linux-mtd/20200519130035.1883-41-miquel.raynal@bootlin.com |
| [sudip: manual backport to old file] |
| Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/mtd/nand/pasemi_nand.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/mtd/nand/pasemi_nand.c |
| +++ b/drivers/mtd/nand/pasemi_nand.c |
| @@ -167,7 +167,7 @@ static int pasemi_nand_probe(struct plat |
| if (mtd_device_register(pasemi_nand_mtd, NULL, 0)) { |
| printk(KERN_ERR "pasemi_nand: Unable to register MTD device\n"); |
| err = -ENODEV; |
| - goto out_lpc; |
| + goto out_cleanup_nand; |
| } |
| |
| printk(KERN_INFO "PA Semi NAND flash at %08llx, control at I/O %x\n", |
| @@ -175,6 +175,8 @@ static int pasemi_nand_probe(struct plat |
| |
| return 0; |
| |
| + out_cleanup_nand: |
| + nand_cleanup(chip); |
| out_lpc: |
| release_region(lpcctl, 4); |
| out_ior: |