mtd: nand: sunxi: fix bitflips in erased pages
[firefly-linux-kernel-4.4.55.git] / drivers / mtd / nand / sunxi_nand.c
index a76eb5173bb82de968f2f423800c4c8b89f93ecc..92245a31233457ad5778bdd0090ab17982580c40 100644 (file)
@@ -611,7 +611,9 @@ static int sunxi_nfc_hw_ecc_read_chunk(struct mtd_info *mtd,
        sunxi_nfc_read_buf(mtd, oob, ecc->bytes + 4);
 
        if (status & NFC_ECC_ERR(0)) {
-               ret = -EIO;
+               ret = nand_check_erased_ecc_chunk(data, ecc->size,
+                                                 oob, ecc->bytes + 4,
+                                                 NULL, 0, ecc->strength);
        } else {
                /*
                 * The engine protects 4 bytes of OOB data per chunk.