Skip to content

Commit

Permalink
mtd: ecc_strength is at ecc step granularity
Browse files Browse the repository at this point in the history
ecc_strength element of mtd_info will be the strength of one ecc step, not of
the entire writesize, as was previously planned.  This is the appropriate way
because, as was pointed out¹, bit errors in excess of the strength of one
step can cause a hard error if they all occur within the same ecc region.

¹ http://lists.infradead.org/pipermail/linux-mtd/2012-March/040313.html

Signed-off-by: Mike Dunn <mikedunn@newsguy.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
  • Loading branch information
Mike Dunn authored and David Woodhouse committed May 14, 2012
1 parent 09cbe58 commit 86c2072
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion drivers/mtd/nand/nand_base.c
Original file line number Diff line number Diff line change
Expand Up @@ -3487,7 +3487,7 @@ int nand_scan_tail(struct mtd_info *mtd)

/* propagate ecc info to mtd_info */
mtd->ecclayout = chip->ecc.layout;
mtd->ecc_strength = chip->ecc.strength * chip->ecc.steps;
mtd->ecc_strength = chip->ecc.strength;

/* Check, if we should skip the bad block table scan */
if (chip->options & NAND_SKIP_BBTSCAN)
Expand Down
2 changes: 1 addition & 1 deletion include/linux/mtd/mtd.h
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ struct mtd_info {
/* ECC layout structure pointer - read only! */
struct nand_ecclayout *ecclayout;

/* max number of correctible bit errors per writesize */
/* max number of correctible bit errors per ecc step */
unsigned int ecc_strength;

/* Data for variable erase regions. If numeraseregions is zero,
Expand Down

0 comments on commit 86c2072

Please sign in to comment.