Skip to content

Commit

Permalink
[MTD] [NAND] Blackfin NFC Driver: fix bug - hw ecc calc by making sur…
Browse files Browse the repository at this point in the history
…e we extract 11 bits from each register instead of 10

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
  • Loading branch information
Mike Frysinger authored and David Woodhouse committed Aug 1, 2008
1 parent e274f02 commit cf84039
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/mtd/nand/bf5xx_nand.c
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,7 @@ static int bf5xx_nand_calculate_ecc(struct mtd_info *mtd,
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]);

Expand All @@ -310,7 +310,7 @@ static int bf5xx_nand_calculate_ecc(struct mtd_info *mtd,
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
Expand Down

0 comments on commit cf84039

Please sign in to comment.