On 05/16/2012 07:06 AM, Amit Virdi wrote:
> +             if ((bits_ecc + bits_data) <= 8) {
> +                     if (bits_data)
> +                             memset(dat, 0xff, 512);
> +                     return bits_data;

return bits_data + bits_ecc;

> +     i = 0;
> +     while (num_err--) {
> +             change_bit(0, &err_idx[i]);
> +             change_bit(1, &err_idx[i]);

Where is change_bit defined?  I see __change_bit in
arch/arm/include/asm/bitops.h, but change_bit is defined as an extern
prototype.  In Linux change_bit (without the __) is defined as an atomic
operation, which probably isn't appropriate here.

These two in particular could just be err_idx[i] ^= 3, right?

> +             if (err_idx[i] < 512 * 8) {
> +                     change_bit(err_idx[i], dat);
> +                     i++;
> +             }

Increment i unconditionally.

-Scott

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to