#include "mtdcore.h"
-@@ -1079,6 +1080,8 @@ int mtd_device_parse_register(struct mtd
-
- ret = mtd_otp_nvmem_add(mtd);
+@@ -1082,6 +1083,8 @@ int mtd_device_parse_register(struct mtd
+ register_reboot_notifier(&mtd->reboot_notifier);
+ }
+ register_mtd_blktrans_devs();
+
out:
- if (ret && device_is_registered(&mtd->dev))
- del_mtd_device(mtd);
+ if (ret) {
+ nvmem_unregister(mtd->otp_user_nvmem);
--- a/include/linux/mtd/blktrans.h
+++ b/include/linux/mtd/blktrans.h
@@ -76,6 +76,7 @@ extern int deregister_mtd_blktrans(struc