|
@@ -854,6 +854,17 @@ int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
|
+ /*
|
|
|
+ * Both UBI and UBIFS have been designed for SLC NAND and NOR flashes.
|
|
|
+ * MLC NAND is different and needs special care, otherwise UBI or UBIFS
|
|
|
+ * will die soon and you will lose all your data.
|
|
|
+ */
|
|
|
+ if (mtd->type == MTD_MLCNANDFLASH) {
|
|
|
+ pr_err("ubi: refuse attaching mtd%d - MLC NAND is not supported\n",
|
|
|
+ mtd->index);
|
|
|
+ return -EINVAL;
|
|
|
+ }
|
|
|
+
|
|
|
if (ubi_num == UBI_DEV_NUM_AUTO) {
|
|
|
/* Search for an empty slot in the @ubi_devices array */
|
|
|
for (ubi_num = 0; ubi_num < UBI_MAX_DEVICES; ubi_num++)
|