summaryrefslogtreecommitdiff
path: root/futility/cmd_read.c
diff options
context:
space:
mode:
Diffstat (limited to 'futility/cmd_read.c')
-rw-r--r--futility/cmd_read.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/futility/cmd_read.c b/futility/cmd_read.c
index e0c83616..e99264ae 100644
--- a/futility/cmd_read.c
+++ b/futility/cmd_read.c
@@ -104,7 +104,12 @@ static int do_read(int argc, char *argv[])
errorcnt += updater_setup_config(cfg, &args, &update_needed);
if (!errorcnt && update_needed) {
prepare_servo_control(prepare_ctrl_name, 1);
- if (load_system_firmware(cfg, &cfg->image_current))
+ int r = load_system_firmware(cfg, &cfg->image_current);
+ /*
+ * Ignore a parse error as we still want to write the file
+ * out in that case
+ */
+ if (r && r != IMAGE_PARSE_FAILURE)
errorcnt++;
prepare_servo_control(prepare_ctrl_name, 0);
}