Message ID | 1452609223-14790-2-git-send-email-romain.izard.pro@gmail.com |
---|---|
State | Accepted |
Commit | 12197bf21c26e23053fa6223f3a731a965542986 |
Headers | show |
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
> -----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 --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]); }
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(-)