mtd: tests: ignore corrected bitflips in OOB on mtd_readtest
authorBrian Norris <computersforpeace@gmail.com>
Tue, 28 Jun 2011 23:28:59 +0000 (16:28 -0700)
committerArtem Bityutskiy <artem.bityutskiy@intel.com>
Sun, 11 Sep 2011 12:02:14 +0000 (15:02 +0300)
read_oob may now return ECC error codes. If the code is -EUCLEAN, then
we can safely ignore the error as a corrected bitflip.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <dedekind1@gmail.com>
drivers/mtd/tests/mtd_readtest.c

index afe71aa15c4b4493c5e2c5d50946d71122c35b98..836792d1d60ebe728e92b46190f89606a23335c3 100644 (file)
@@ -75,7 +75,8 @@ static int read_eraseblock_by_page(int ebnum)
                        ops.datbuf    = NULL;
                        ops.oobbuf    = oobbuf;
                        ret = mtd->read_oob(mtd, addr, &ops);
-                       if (ret || ops.oobretlen != mtd->oobsize) {
+                       if ((ret && ret != -EUCLEAN) ||
+                                       ops.oobretlen != mtd->oobsize) {
                                printk(PRINT_PREF "error: read oob failed at "
                                                  "%#llx\n", (long long)addr);
                                if (!err)