aboutsummaryrefslogtreecommitdiffstats
path: root/mtdutils
diff options
context:
space:
mode:
authoratinm <atinm.dev@gmail.com>2011-07-21 18:41:49 -0400
committeratinm <atinm.dev@gmail.com>2011-07-21 18:41:49 -0400
commit7e70b6be7fdb94d91bfb9d3555add1f852ae8d7b (patch)
treedf1d8a961a543526ae566e121e9b7be346fa5e36 /mtdutils
parent45df699a5e03676a33afdd84c47a2bcaa6072b82 (diff)
downloadbootable_recovery-7e70b6be7fdb94d91bfb9d3555add1f852ae8d7b.zip
bootable_recovery-7e70b6be7fdb94d91bfb9d3555add1f852ae8d7b.tar.gz
bootable_recovery-7e70b6be7fdb94d91bfb9d3555add1f852ae8d7b.tar.bz2
Deleted check for equality in flash image header and partition
header. Skipping flash after just checking a 1K header is incorrect in the case where something scribbles over the partition after the header because flash_image would not be able to rewrite the whole partition due to this check. Also, Samsung devices use a combined boot and recovery image where the header is the same even if the initramfs changes and these do not get flashed even if the boot.img is actually different due to different appended initramfs. Change-Id: I53ab0a23347cdf1fa7ff58dff37e812fd84645be
Diffstat (limited to 'mtdutils')
-rw-r--r--mtdutils/mtdutils.c19
1 files changed, 0 insertions, 19 deletions
diff --git a/mtdutils/mtdutils.c b/mtdutils/mtdutils.c
index c8dbba4..4e259cd 100644
--- a/mtdutils/mtdutils.c
+++ b/mtdutils/mtdutils.c
@@ -586,8 +586,6 @@ int cmd_mtd_restore_raw_partition(const char *partition_name, const char *filena
return -1;
}
- // If the first part of the file matches the partition, skip writing
-
int fd = open(filename, O_RDONLY);
if (fd < 0)
{
@@ -603,23 +601,6 @@ int cmd_mtd_restore_raw_partition(const char *partition_name, const char *filena
return -1;
}
- MtdReadContext *in = mtd_read_partition(partition);
- if (in == NULL) {
- printf("error opening %s: %s\n", partition, strerror(errno));
- // just assume it needs re-writing
- } else {
- char check[HEADER_SIZE];
- int checklen = mtd_read_data(in, check, sizeof(check));
- if (checklen <= 0) {
- printf("error reading %s: %s\n", partition_name, strerror(errno));
- // just assume it needs re-writing
- } else if (checklen == headerlen && !memcmp(header, check, headerlen)) {
- printf("header is the same, not flashing %s\n", partition_name);
- return 0;
- }
- mtd_read_close(in);
- }
-
// Skip the header (we'll come back to it), write everything else
printf("flashing %s from %s\n", partition_name, filename);