RE: [PATCH v2 3/3] mtd: nand: omap2: Support for hardware BCH errorcorrection
From: Philip, Avinash
Date: Tue Dec 04 2012 - 08:17:47 EST
On Fri, Nov 30, 2012 at 17:58:00, Artem Bityutskiy wrote:
> On Wed, 2012-10-31 at 12:38 +0530, Philip, Avinash wrote:
> > +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
>
N§²æìr¸yúèØb²X¬¶ÇvØ^)Þ{.nÇ+·¥{±êçzX§¶¡Ü}©²ÆzÚ&j:+v¨¾«êçzZ+Ê+zf£¢·h§~Ûiÿûàz¹®w¥¢¸?¨èÚ&¢)ßfù^jÇy§m
á@A«a¶Úÿ0¶ìh®åi