From 682122bce7714e285d196be09d4c97666458c487 Mon Sep 17 00:00:00 2001 From: Stefan Tauner Date: Sun, 23 Jun 2013 22:15:39 +0000 Subject: Warn if we skipped all blocks while writing Quick hack to print a warning if we skip all blocks in a write process because they are already equal to the requested image. We want something like this to make users aware... and some developers who regularly fall for this too *coughcough*. There might be more elegant solutions for this... patches welcome. This does not work for erasing because we do that unconditionally. Corresponding to flashrom svn r1680. Signed-off-by: Stefan Tauner Acked-by: Idwer Vollering --- flash.h | 1 + flashrom.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/flash.h b/flash.h index 1857cc060..7e50ae554 100644 --- a/flash.h +++ b/flash.h @@ -27,6 +27,7 @@ #include #include #include +#include #ifdef _WIN32 #include #undef min diff --git a/flashrom.c b/flashrom.c index c11f72357..6ab72a096 100644 --- a/flashrom.c +++ b/flashrom.c @@ -1310,6 +1310,7 @@ static int selfcheck_eraseblocks(const struct flashchip *chip) return ret; } +static bool all_skipped = true; static int erase_and_write_block_helper(struct flashctx *flash, unsigned int start, unsigned int len, uint8_t *curcontents, @@ -1357,6 +1358,8 @@ static int erase_and_write_block_helper(struct flashctx *flash, } if (skip) msg_cdbg("S"); + else + all_skipped = false; return ret; } @@ -1483,6 +1486,8 @@ int erase_and_write_flash(struct flashctx *flash, uint8_t *oldcontents, if (ret) { msg_cerr("FAILED!\n"); } else { + if (all_skipped) + msg_cinfo("\nWarning: Chip content is identical to the requested image.\n"); msg_cinfo("Erase/write done.\n"); } return ret; -- cgit v1.2.3