diff mbox

mtd: nand: omap: ecc.correct: omap_elm_correct_data: return number of bit-flips detected in erased-page

Message ID 1395321598-4565-1-git-send-email-pekon@ti.com
State Accepted
Commit f306e8c3b667632952f1a4a74ffb910bbc06255f
Headers show

Commit Message

pekon gupta March 20, 2014, 1:19 p.m. UTC
fixes: commit 62116e5171e00f85a8d53f76e45b84423c89ff34
       mtd: nand: omap2: Support for hardware BCH error correction.

In current omap_elm_correct_data(), an erased-page is also identified based on
	'bitflip_count <= ecc.strength' per ecc-step (data+oob)
But bitflip_count is ignored, unless errors are detected in other ecc.steps.
------------------
  if (bitflip_count) {
        /*
         * number of 0-bits within ECC limits
         * So this may be an erased-page
         */
        stat += bitflip_count;
  }
  [...]
  /* Check if any error reported */
  if (!is_error_reported)
        return 0;
------------------

This patch returns bitflip_count found in erased-page to chip->ecc.read_page()

Reported-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Pekon Gupta <pekon@ti.com>
---
 drivers/mtd/nand/omap2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Ezequiel Garcia March 20, 2014, 2:55 p.m. UTC | #1
Pekon,

I'm not sure we need such a detailed subject. Just "mtd: nand: omap:
Return detected bitflip count" should be enough.

This goes for your other patches. It's just a nitpick, of course,
but it's good to have commit log consistency.

On Mar 20, Pekon Gupta wrote:
> fixes: commit 62116e5171e00f85a8d53f76e45b84423c89ff34
>        mtd: nand: omap2: Support for hardware BCH error correction.
> 

Remove these extra whitespace.

> In current omap_elm_correct_data(), an erased-page is also identified based on
> 	'bitflip_count <= ecc.strength' per ecc-step (data+oob)

And this extra tab.

> But bitflip_count is ignored, unless errors are detected in other ecc.steps.
> ------------------
>   if (bitflip_count) {
>         /*
>          * number of 0-bits within ECC limits
>          * So this may be an erased-page
>          */
>         stat += bitflip_count;
>   }
>   [...]
>   /* Check if any error reported */
>   if (!is_error_reported)
>         return 0;
> ------------------
> 

We don't need a piece of code here, we can see that in the patch itself.
The commit log should be a text explaining what you are doing, why you are doing
it and perhaps the impact it has.

I suggest that you clean-up this a bit and resend it.
diff mbox

Patch

diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c
index 6f9b339..d161c9b 100644
--- a/drivers/mtd/nand/omap2.c
+++ b/drivers/mtd/nand/omap2.c
@@ -1383,7 +1383,7 @@  static int omap_elm_correct_data(struct mtd_info *mtd, u_char *data,
 
 	/* Check if any error reported */
 	if (!is_error_reported)
-		return 0;
+		return stat;
 
 	/* Decode BCH error using ELM module */
 	elm_decode_bch_error_page(info->elm_dev, ecc_vec, err_vec);