|
@@ -298,7 +298,7 @@ static int bf5xx_nand_calculate_ecc(struct mtd_info *mtd,
|
|
ecc0 = bfin_read_NFC_ECC0();
|
|
ecc0 = bfin_read_NFC_ECC0();
|
|
ecc1 = bfin_read_NFC_ECC1();
|
|
ecc1 = bfin_read_NFC_ECC1();
|
|
|
|
|
|
- code[0] = (ecc0 & 0x3FF) | ((ecc1 & 0x3FF) << 11);
|
|
|
|
|
|
+ code[0] = (ecc0 & 0x7ff) | ((ecc1 & 0x7ff) << 11);
|
|
|
|
|
|
dev_dbg(info->device, "returning ecc 0x%08x\n", code[0]);
|
|
dev_dbg(info->device, "returning ecc 0x%08x\n", code[0]);
|
|
|
|
|
|
@@ -310,7 +310,7 @@ static int bf5xx_nand_calculate_ecc(struct mtd_info *mtd,
|
|
if (page_size == 512) {
|
|
if (page_size == 512) {
|
|
ecc0 = bfin_read_NFC_ECC2();
|
|
ecc0 = bfin_read_NFC_ECC2();
|
|
ecc1 = bfin_read_NFC_ECC3();
|
|
ecc1 = bfin_read_NFC_ECC3();
|
|
- code[1] = (ecc0 & 0x3FF) | ((ecc1 & 0x3FF) << 11);
|
|
|
|
|
|
+ code[1] = (ecc0 & 0x7ff) | ((ecc1 & 0x7ff) << 11);
|
|
|
|
|
|
/* second 3 bytes in ecc_code for second 256
|
|
/* second 3 bytes in ecc_code for second 256
|
|
* bytes of 512 page size
|
|
* bytes of 512 page size
|