diff mbox

[RFC,1/4] mtd: atmel_nand: Do not warn on bitflips

Message ID 1452609223-14790-2-git-send-email-romain.izard.pro@gmail.com
State Accepted
Commit 12197bf21c26e23053fa6223f3a731a965542986
Headers show

Commit Message

Romain Izard Jan. 12, 2016, 2:33 p.m. UTC
When using multi-bit ECC, it is normal for the NAND Flash driver to
correct bit errors during the life of the product. Those errors will
only be cleared once a threshold has been reached, and corrections can
occur regularly before this.

Use only dev_dbg and not dev_info to report the bitflips, to keep the
system log clean when everything works correctly.

Signed-off-by: Romain Izard <romain.izard.pro@gmail.com>
---
 drivers/mtd/nand/atmel_nand.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Wenyou Yang Jan. 13, 2016, 5:12 a.m. UTC | #1
Hi Romain,

On 2016/1/12 22:33, Romain Izard wrote:
> When using multi-bit ECC, it is normal for the NAND Flash driver to
> correct bit errors during the life of the product. Those errors will
> only be cleared once a threshold has been reached, and corrections can
> occur regularly before this.
>
> Use only dev_dbg and not dev_info to report the bitflips, to keep the
> system log clean when everything works correctly.
>
> Signed-off-by: Romain Izard <romain.izard.pro@gmail.com>

Acked-by:  Wenyou Yang <wenyou.yang@atmel.com>

> ---
>   drivers/mtd/nand/atmel_nand.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c
> index 46010bd895b1..9d71f9e6a8de 100644
> --- a/drivers/mtd/nand/atmel_nand.c
> +++ b/drivers/mtd/nand/atmel_nand.c
> @@ -824,7 +824,7 @@ static void pmecc_correct_data(struct mtd_info *mtd, uint8_t *buf, uint8_t *ecc,
>   			*(buf + byte_pos) ^= (1 << bit_pos);
>   
>   			pos = sector_num * host->pmecc_sector_size + byte_pos;
> -			dev_info(host->dev, "Bit flip in data area, byte_pos: %d, bit_pos: %d, 0x%02x -> 0x%02x\n",
> +			dev_dbg(host->dev, "Bit flip in data area, byte_pos: %d, bit_pos: %d, 0x%02x -> 0x%02x\n",
>   				pos, bit_pos, err_byte, *(buf + byte_pos));
>   		} else {
>   			/* Bit flip in OOB area */
> @@ -834,7 +834,7 @@ static void pmecc_correct_data(struct mtd_info *mtd, uint8_t *buf, uint8_t *ecc,
>   			ecc[tmp] ^= (1 << bit_pos);
>   
>   			pos = tmp + nand_chip->ecc.layout->eccpos[0];
> -			dev_info(host->dev, "Bit flip in OOB, oob_byte_pos: %d, bit_pos: %d, 0x%02x -> 0x%02x\n",
> +			dev_dbg(host->dev, "Bit flip in OOB, oob_byte_pos: %d, bit_pos: %d, 0x%02x -> 0x%02x\n",
>   				pos, bit_pos, err_byte, ecc[tmp]);
>   		}
>   

Best Regards,
Wenyou Yang
Wenyou Yang Jan. 13, 2016, 5:14 a.m. UTC | #2
> -----Original Message-----

> From: linux-mtd [mailto:linux-mtd-bounces@lists.infradead.org] On Behalf Of

> Romain Izard

> Sent: 2016年1月12日 22:34

> To: linux-mtd@lists.infradead.org; devicetree@vger.kernel.org

> Cc: Wu, Josh <Josh.wu@atmel.com>; Romain Izard

> <romain.izard.pro@gmail.com>; Ferre, Nicolas <Nicolas.FERRE@atmel.com>

> Subject: [RFC PATCH 1/4] mtd: atmel_nand: Do not warn on bitflips

> 

> When using multi-bit ECC, it is normal for the NAND Flash driver to correct bit

> errors during the life of the product. Those errors will only be cleared once a

> threshold has been reached, and corrections can occur regularly before this.

> 

> Use only dev_dbg and not dev_info to report the bitflips, to keep the system log

> clean when everything works correctly.

> 

> Signed-off-by: Romain Izard <romain.izard.pro@gmail.com>


Acked-by Wenyou Yang <wenyou.yang@atmel.com>

> ---

>  drivers/mtd/nand/atmel_nand.c | 4 ++--

>  1 file changed, 2 insertions(+), 2 deletions(-)

> 

> diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c index

> 46010bd895b1..9d71f9e6a8de 100644

> --- a/drivers/mtd/nand/atmel_nand.c

> +++ b/drivers/mtd/nand/atmel_nand.c

> @@ -824,7 +824,7 @@ static void pmecc_correct_data(struct mtd_info *mtd,

> uint8_t *buf, uint8_t *ecc,

>  			*(buf + byte_pos) ^= (1 << bit_pos);

> 

>  			pos = sector_num * host->pmecc_sector_size + byte_pos;

> -			dev_info(host->dev, "Bit flip in data area, byte_pos: %d,

> bit_pos: %d, 0x%02x -> 0x%02x\n",

> +			dev_dbg(host->dev, "Bit flip in data area, byte_pos: %d,

> bit_pos:

> +%d, 0x%02x -> 0x%02x\n",

>  				pos, bit_pos, err_byte, *(buf + byte_pos));

>  		} else {

>  			/* Bit flip in OOB area */

> @@ -834,7 +834,7 @@ static void pmecc_correct_data(struct mtd_info *mtd,

> uint8_t *buf, uint8_t *ecc,

>  			ecc[tmp] ^= (1 << bit_pos);

> 

>  			pos = tmp + nand_chip->ecc.layout->eccpos[0];

> -			dev_info(host->dev, "Bit flip in OOB, oob_byte_pos: %d,

> bit_pos: %d, 0x%02x -> 0x%02x\n",

> +			dev_dbg(host->dev, "Bit flip in OOB, oob_byte_pos: %d,

> bit_pos: %d,

> +0x%02x -> 0x%02x\n",

>  				pos, bit_pos, err_byte, ecc[tmp]);

>  		}

> 

> --

> 2.5.0

> 

> 

> ______________________________________________________

> Linux MTD discussion mailing list

> http://lists.infradead.org/mailman/listinfo/linux-mtd/



Best Regards,
Wenyou Yang
diff mbox

Patch

diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c
index 46010bd895b1..9d71f9e6a8de 100644
--- a/drivers/mtd/nand/atmel_nand.c
+++ b/drivers/mtd/nand/atmel_nand.c
@@ -824,7 +824,7 @@  static void pmecc_correct_data(struct mtd_info *mtd, uint8_t *buf, uint8_t *ecc,
 			*(buf + byte_pos) ^= (1 << bit_pos);
 
 			pos = sector_num * host->pmecc_sector_size + byte_pos;
-			dev_info(host->dev, "Bit flip in data area, byte_pos: %d, bit_pos: %d, 0x%02x -> 0x%02x\n",
+			dev_dbg(host->dev, "Bit flip in data area, byte_pos: %d, bit_pos: %d, 0x%02x -> 0x%02x\n",
 				pos, bit_pos, err_byte, *(buf + byte_pos));
 		} else {
 			/* Bit flip in OOB area */
@@ -834,7 +834,7 @@  static void pmecc_correct_data(struct mtd_info *mtd, uint8_t *buf, uint8_t *ecc,
 			ecc[tmp] ^= (1 << bit_pos);
 
 			pos = tmp + nand_chip->ecc.layout->eccpos[0];
-			dev_info(host->dev, "Bit flip in OOB, oob_byte_pos: %d, bit_pos: %d, 0x%02x -> 0x%02x\n",
+			dev_dbg(host->dev, "Bit flip in OOB, oob_byte_pos: %d, bit_pos: %d, 0x%02x -> 0x%02x\n",
 				pos, bit_pos, err_byte, ecc[tmp]);
 		}