diff options
author | Thomas Gleixner <tglx@cruncher.tec.linutronix.de> | 2006-05-29 08:56:39 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@cruncher.tec.linutronix.de> | 2006-05-29 09:06:51 -0400 |
commit | 9a1fcdfd4bee27c418424cac47abf7c049541297 (patch) | |
tree | 5baa5f1e1d1a296a319bf6a5a4b636668c107e00 /drivers/mtd/nand/nand_base.c | |
parent | 8593fbc68b0df1168995de76d1af38eb62fd6b62 (diff) |
[MTD] NAND Signal that a bitflip was corrected by ECC
Return -EUCLEAN on read when a bitflip was detected and corrected, so the
clients can react and eventually copy the affected block to a spare one.
Make all in kernel users aware of the change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'drivers/mtd/nand/nand_base.c')
-rw-r--r-- | drivers/mtd/nand/nand_base.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index b8e6e1579cf1..7a3a44907715 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c | |||
@@ -1035,7 +1035,10 @@ static int nand_do_read_ops(struct mtd_info *mtd, loff_t from, | |||
1035 | if (ret) | 1035 | if (ret) |
1036 | return ret; | 1036 | return ret; |
1037 | 1037 | ||
1038 | return mtd->ecc_stats.failed - stats.failed ? -EBADMSG : 0; | 1038 | if (mtd->ecc_stats.failed - stats.failed) |
1039 | return -EBADMSG; | ||
1040 | |||
1041 | return mtd->ecc_stats.corrected - stats.corrected ? -EUCLEAN : 0; | ||
1039 | } | 1042 | } |
1040 | 1043 | ||
1041 | /** | 1044 | /** |