]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
UBI: erase free PEB with bitflip in EC header
authorMatthieu CASTET <matthieu.castet@parrot.com>
Wed, 22 Aug 2012 14:03:46 +0000 (16:03 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 7 Oct 2012 15:35:56 +0000 (08:35 -0700)
commit 193819cf2e6e395b1e1be2d36785dc5563a6edca upstream.

Without this patch, these PEB are not scrubbed until we put data in them.
Bitflip can accumulate latter and we can loose the EC header (but VID header
should be intact and allow to recover data).

Signed-off-by: Matthieu Castet <matthieu.castet@parrot.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mtd/ubi/attach.c

index bd27cbbb4066df18dce282977d9879a011aa4e79..68d4d1f76d1eaf47608147aa3a9e4355841d6073 100644 (file)
@@ -975,7 +975,7 @@ static int scan_peb(struct ubi_device *ubi, struct ubi_attach_info *ai,
                        return err;
                goto adjust_mean_ec;
        case UBI_IO_FF:
-               if (ec_err)
+               if (ec_err || bitflips)
                        err = add_to_list(ai, pnum, UBI_UNKNOWN,
                                          UBI_UNKNOWN, ec, 1, &ai->erase);
                else