From: Miquel Raynal Date: Wed, 21 Mar 2018 13:01:52 +0000 (+0100) Subject: mtd: rawnand: sh_flctl: fix the probe function error path X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=5a3e8cde101209edb962ed42091db257f9f5ce5c;p=openwrt%2Fstaging%2Fblogic.git mtd: rawnand: sh_flctl: fix the probe function error path An error after nand_scan_tail() should trigger a nand_cleanup(). The helper mtd_device_parse_register() returns an error code that should be checked and nand_cleanup() called accordingly. Signed-off-by: Miquel Raynal Signed-off-by: Boris Brezillon --- diff --git a/drivers/mtd/nand/raw/sh_flctl.c b/drivers/mtd/nand/raw/sh_flctl.c index 7a740d583866..c7abceffcc40 100644 --- a/drivers/mtd/nand/raw/sh_flctl.c +++ b/drivers/mtd/nand/raw/sh_flctl.c @@ -1214,9 +1214,13 @@ static int flctl_probe(struct platform_device *pdev) goto err_chip; ret = mtd_device_register(flctl_mtd, pdata->parts, pdata->nr_parts); + if (ret) + goto cleanup_nand; return 0; +cleanup_nand: + nand_cleanup(nand); err_chip: flctl_release_dma(flctl); pm_runtime_disable(&pdev->dev);