Browse Source

mtd: rawnand: sm_common: fix the probe function error path

nand_cleanup() should be called upon error after a successful
nand_scan_tail().

Rework the error path to follow this rule .

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Miquel Raynal 7 years ago
parent
commit
92aa292d2e
1 changed files with 5 additions and 1 deletions
  1. 5 1
      drivers/mtd/nand/raw/sm_common.c

+ 5 - 1
drivers/mtd/nand/raw/sm_common.c

@@ -192,7 +192,11 @@ int sm_register_device(struct mtd_info *mtd, int smartmedia)
 	if (ret)
 		return ret;
 
-	return mtd_device_register(mtd, NULL, 0);
+	ret = mtd_device_register(mtd, NULL, 0);
+	if (ret)
+		nand_cleanup(chip);
+
+	return ret;
 }
 EXPORT_SYMBOL_GPL(sm_register_device);