Эх сурвалжийг харах

mtd: r852: Fix device_create_file() usage

device_create_file() can fail, therefore we have to
handle this case and abort.

Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Richard Weinberger 10 жил өмнө
parent
commit
905cce7f43

+ 5 - 1
drivers/mtd/nand/r852.c

@@ -653,11 +653,15 @@ static int r852_register_nand_device(struct r852_device *dev)
 	if (sm_register_device(dev->mtd, dev->sm))
 	if (sm_register_device(dev->mtd, dev->sm))
 		goto error2;
 		goto error2;
 
 
-	if (device_create_file(&dev->mtd->dev, &dev_attr_media_type))
+	if (device_create_file(&dev->mtd->dev, &dev_attr_media_type)) {
 		message("can't create media type sysfs attribute");
 		message("can't create media type sysfs attribute");
+		goto error3;
+	}
 
 
 	dev->card_registred = 1;
 	dev->card_registred = 1;
 	return 0;
 	return 0;
+error3:
+	nand_release(dev->mtd);
 error2:
 error2:
 	kfree(dev->mtd);
 	kfree(dev->mtd);
 error1:
 error1: