Thread (14 messages) 14 messages, 2 authors, 2012-12-04

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

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
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help