summaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-4.3/494-mtd-ubi-add-EOF-marker-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/patches-4.3/494-mtd-ubi-add-EOF-marker-support.patch')
-rw-r--r--target/linux/generic/patches-4.3/494-mtd-ubi-add-EOF-marker-support.patch51
1 files changed, 0 insertions, 51 deletions
diff --git a/target/linux/generic/patches-4.3/494-mtd-ubi-add-EOF-marker-support.patch b/target/linux/generic/patches-4.3/494-mtd-ubi-add-EOF-marker-support.patch
deleted file mode 100644
index 14fae764fe..0000000000
--- a/target/linux/generic/patches-4.3/494-mtd-ubi-add-EOF-marker-support.patch
+++ /dev/null
@@ -1,51 +0,0 @@
---- a/drivers/mtd/ubi/attach.c
-+++ b/drivers/mtd/ubi/attach.c
-@@ -803,6 +803,13 @@ out_unlock:
- return err;
- }
-
-+static bool ec_hdr_has_eof(struct ubi_ec_hdr *ech)
-+{
-+ return ech->padding1[0] == 'E' &&
-+ ech->padding1[1] == 'O' &&
-+ ech->padding1[2] == 'F';
-+}
-+
- /**
- * scan_peb - scan and process UBI headers of a PEB.
- * @ubi: UBI device description object
-@@ -833,9 +840,21 @@ static int scan_peb(struct ubi_device *u
- return 0;
- }
-
-- err = ubi_io_read_ec_hdr(ubi, pnum, ech, 0);
-- if (err < 0)
-- return err;
-+ if (!ai->eof_found) {
-+ err = ubi_io_read_ec_hdr(ubi, pnum, ech, 0);
-+ if (err < 0)
-+ return err;
-+
-+ if (ec_hdr_has_eof(ech)) {
-+ pr_notice("UBI: EOF marker found, PEBs from %d will be erased",
-+ pnum);
-+ ai->eof_found = true;
-+ }
-+ }
-+
-+ if (ai->eof_found)
-+ err = UBI_IO_FF_BITFLIPS;
-+
- switch (err) {
- case 0:
- break;
---- a/drivers/mtd/ubi/ubi.h
-+++ b/drivers/mtd/ubi/ubi.h
-@@ -739,6 +739,7 @@ struct ubi_attach_info {
- int mean_ec;
- uint64_t ec_sum;
- int ec_count;
-+ bool eof_found;
- struct kmem_cache *aeb_slab_cache;
- };
-