--- a/drivers/mtd/onenand/onenand_base.c	2008-09-02 13:53:40.000000000 +0530
+++ b/drivers/mtd/onenand/onenand_base.c	2008-09-02 13:54:34.000000000 +0530
@@ -3262,7 +3262,8 @@ int onenand_scan(struct mtd_info *mtd, i
 
 	/* Fill in remaining MTD driver data */
 	mtd->type = MTD_NANDFLASH;
-	mtd->flags = MTD_CAP_NANDFLASH;
+	mtd->flags = ONENAND_IS_MLC(this) ? MTD_CAP_MLCNANDFLASH :
+			MTD_CAP_NANDFLASH;
 	mtd->erase = onenand_erase;
 	mtd->point = NULL;
 	mtd->unpoint = NULL;
