]> Pileus Git - ~andy/linux/commitdiff
mtd: nand: scan 1st and 2nd page for Macronix SLC
authorBrian Norris <computersforpeace@gmail.com>
Wed, 2 Nov 2011 20:34:44 +0000 (13:34 -0700)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Mon, 9 Jan 2012 17:59:53 +0000 (17:59 +0000)
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/nand/nand_base.c

index 3ed9c5e4d34e7bfbc51351a8475878424c325ab6..35b4565050f1430d425ed3615d3c4a806cda4b7a 100644 (file)
@@ -3132,8 +3132,8 @@ ident_done:
         * Bad block marker is stored in the last page of each block
         * on Samsung and Hynix MLC devices; stored in first two pages
         * of each block on Micron devices with 2KiB pages and on
-        * SLC Samsung, Hynix, Toshiba and AMD/Spansion. All others scan
-        * only the first page.
+        * SLC Samsung, Hynix, Toshiba, AMD/Spansion, and Macronix.
+        * All others scan only the first page.
         */
        if ((chip->cellinfo & NAND_CI_CELLTYPE_MSK) &&
                        (*maf_id == NAND_MFR_SAMSUNG ||
@@ -3143,7 +3143,8 @@ ident_done:
                                (*maf_id == NAND_MFR_SAMSUNG ||
                                 *maf_id == NAND_MFR_HYNIX ||
                                 *maf_id == NAND_MFR_TOSHIBA ||
-                                *maf_id == NAND_MFR_AMD)) ||
+                                *maf_id == NAND_MFR_AMD ||
+                                *maf_id == NAND_MFR_MACRONIX)) ||
                        (mtd->writesize == 2048 &&
                         *maf_id == NAND_MFR_MICRON))
                chip->bbt_options |= NAND_BBT_SCAN2NDPAGE;