aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/pending-4.14/411-mtd-partial_eraseblock_write.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/pending-4.14/411-mtd-partial_eraseblock_write.patch')
-rw-r--r--target/linux/generic/pending-4.14/411-mtd-partial_eraseblock_write.patch10
1 files changed, 5 insertions, 5 deletions
diff --git a/target/linux/generic/pending-4.14/411-mtd-partial_eraseblock_write.patch b/target/linux/generic/pending-4.14/411-mtd-partial_eraseblock_write.patch
index a995083105..3b862dae61 100644
--- a/target/linux/generic/pending-4.14/411-mtd-partial_eraseblock_write.patch
+++ b/target/linux/generic/pending-4.14/411-mtd-partial_eraseblock_write.patch
@@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* Our partition linked list */
static LIST_HEAD(mtd_partitions);
static DEFINE_MUTEX(mtd_partitions_mutex);
-@@ -246,13 +248,61 @@ static int part_erase(struct mtd_info *m
+@@ -255,13 +257,61 @@ static int part_erase(struct mtd_info *m
struct mtd_part *part = mtd_to_part(mtd);
int ret;
@@ -81,7 +81,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
return ret;
}
-@@ -260,6 +310,25 @@ void mtd_erase_callback(struct erase_inf
+@@ -269,6 +319,25 @@ void mtd_erase_callback(struct erase_inf
{
if (instr->mtd->_erase == part_erase) {
struct mtd_part *part = mtd_to_part(instr->mtd);
@@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (instr->fail_addr != MTD_FAIL_ADDR_UNKNOWN)
instr->fail_addr -= part->offset;
-@@ -574,19 +643,22 @@ static struct mtd_part *allocate_partiti
+@@ -584,19 +653,22 @@ static struct mtd_part *allocate_partiti
remainder = do_div(tmp, wr_alignment);
if ((slave->mtd.flags & MTD_WRITEABLE) && remainder) {
/* Doesn't start on a boundary of major erase size */
@@ -123,8 +123,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+ slave->mtd.erasesize = slave->mtd.size;
}
-- tmp = slave->mtd.size;
-+ tmp = slave->offset + slave->mtd.size;
+- tmp = part_absolute_offset(parent) + slave->mtd.size;
++ tmp = part_absolute_offset(parent) + slave->offset + slave->mtd.size;
remainder = do_div(tmp, wr_alignment);
if ((slave->mtd.flags & MTD_WRITEABLE) && remainder) {
- slave->mtd.flags &= ~MTD_WRITEABLE;