RE: [PATCH v2 3/3] mtd: nand: omap2: Support for hardware BCH error correction
From: Philip, Avinash <hidden>
Date: 2012-12-04 13:18:01
Also in:
lkml
From: Philip, Avinash <hidden>
Date: 2012-12-04 13:18:01
Also in:
lkml
On Fri, Nov 30, 2012 at 17:58:00, Artem Bityutskiy wrote:
On Wed, 2012-10-31 at 12:38 +0530, Philip, Avinash wrote:quoted
+static int erased_sector_bitflips(u_char *data, u_char *oob, + struct omap_nand_info *info) +{ + int flip_bits = 0, i; + + for (i = 0; i < info->nand.ecc.size; i++) { + flip_bits += hweight8(~data[i]); + if (flip_bits > info->nand.ecc.strength) + return 0; + } + + for (i = 0; i < info->nand.ecc.bytes - 1; i++) { + flip_bits += hweight8(~oob[i]); + if (flip_bits > info->nand.ecc.strength) + return 0; + }Why do you need the second for loop?
BCH ecc is self protected & can correct bit flips in ecc bytes. So here checking bit flips in read_ecc. I will rename variable "oob" to "read_ecc" Thanks Avinash
-- Best Regards, Artem Bityutskiy