• Brian Norris's avatar
    mtd: nand: handle ECC errors in OOB · 041e4575
    Brian Norris authored
    While the standard NAND OOB functions do not do ECC on the spare area,
    it is possible for a driver to supply its own OOB ECC functions (e.g., HW
    ECC). nand_do_read_oob should act like nand_do_read_ops in checking the
    ECC stats and returning -EBADMSG or -EUCLEAN on uncorrectable errors or
    correctable bitflips, respectively. These error codes could be used in
    flash-based BBT code or in YAFFS, for example.
    
    Doing this, however, messes with the behavior of mtd_do_readoob. Now,
    mtd_do_readoob should check whether we had -EUCLEAN or -EBADMSG errors
    and discard those as "non-fatal" so that the ioctls can still succeed
    with (possibly uncorrected) data.
    Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
    Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
    041e4575
nand_base.c 91.3 KB