[patch 06/13] Blackfin NFC Driver: fix bug - hw ecc calc by making sure we extract 11 bits from each register instead of 10
akpm at linux-foundation.org
akpm at linux-foundation.org
Wed Jul 30 15:35:00 EDT 2008
From: Mike Frysinger <vapier.adi at gmail.com>
Signed-off-by: Mike Frysinger <vapier.adi at gmail.com>
Signed-off-by: Bryan Wu <cooloney at kernel.org>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
---
drivers/mtd/nand/bf5xx_nand.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff -puN drivers/mtd/nand/bf5xx_nand.c~blackfin-nfc-driver-fix-bug-hw-ecc-calc-by-making-sure-we-extract-11-bits-from-each-register-instead-of-10 drivers/mtd/nand/bf5xx_nand.c
--- a/drivers/mtd/nand/bf5xx_nand.c~blackfin-nfc-driver-fix-bug-hw-ecc-calc-by-making-sure-we-extract-11-bits-from-each-register-instead-of-10
+++ a/drivers/mtd/nand/bf5xx_nand.c
@@ -298,7 +298,7 @@ static int bf5xx_nand_calculate_ecc(stru
ecc0 = bfin_read_NFC_ECC0();
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]);
@@ -310,7 +310,7 @@ static int bf5xx_nand_calculate_ecc(stru
if (page_size == 512) {
ecc0 = bfin_read_NFC_ECC2();
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
* bytes of 512 page size
_
More information about the linux-mtd
mailing list