diff options
Diffstat (limited to 'package/mtd/src/mtd.c')
-rw-r--r-- | package/mtd/src/mtd.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/package/mtd/src/mtd.c b/package/mtd/src/mtd.c index 92873ca19b..18efcf57cf 100644 --- a/package/mtd/src/mtd.c +++ b/package/mtd/src/mtd.c @@ -294,6 +294,7 @@ mtd_write(int imagefd, const char *mtd, char *fis_layout, size_t part_offset) ssize_t r, w, e; ssize_t skip = 0; uint32_t offset = 0; + int jffs2_replaced = 0; #ifdef FIS_SUPPORT static struct fis_part new_parts[MAX_ARGS]; @@ -417,6 +418,7 @@ resume: fprintf(stderr, "\nAppending jffs2 data from %s to %s...", jffs2file, mtd); /* got an EOF marker - this is the place to add some jffs2 data */ skip = mtd_replace_jffs2(mtd, fd, e, jffs2file); + jffs2_replaced = 1; /* don't add it again */ jffs2file = NULL; @@ -482,6 +484,10 @@ resume: offset = 0; } + if (jffs2_replaced && trx_fixup) { + trx_fixup(fd, mtd); + } + if (!quiet) fprintf(stderr, "\b\b\b\b "); @@ -575,7 +581,7 @@ int main (int argc, char **argv) force = 0; buflen = 0; quiet = 0; - no_erase = 0; + no_erase = 0; while ((ch = getopt(argc, argv, #ifdef FIS_SUPPORT |