|
|
@@ -4047,8 +4047,16 @@ int nand_scan_tail(struct mtd_info *mtd)
|
|
|
chip->pagebuf = -1;
|
|
|
|
|
|
/* Large page NAND with SOFT_ECC should support subpage reads */
|
|
|
- if ((ecc->mode == NAND_ECC_SOFT) && (chip->page_shift > 9))
|
|
|
- chip->options |= NAND_SUBPAGE_READ;
|
|
|
+ switch (ecc->mode) {
|
|
|
+ case NAND_ECC_SOFT:
|
|
|
+ case NAND_ECC_SOFT_BCH:
|
|
|
+ if (chip->page_shift > 9)
|
|
|
+ chip->options |= NAND_SUBPAGE_READ;
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
|
|
|
/* Fill in remaining MTD driver data */
|
|
|
mtd->type = nand_is_slc(chip) ? MTD_NANDFLASH : MTD_MLCNANDFLASH;
|