diff options
-rw-r--r-- | futility/updater.c | 1 | ||||
-rw-r--r-- | futility/updater.h | 1 | ||||
-rw-r--r-- | futility/updater_quirks.c | 15 |
3 files changed, 17 insertions, 0 deletions
diff --git a/futility/updater.c b/futility/updater.c index d58ea399..46f8878a 100644 --- a/futility/updater.c +++ b/futility/updater.c @@ -1198,6 +1198,7 @@ enum updater_error_codes update_firmware(struct updater_config *cfg) image_to->file_name, image_to->ro_version, image_to->rw_version_a, image_to->rw_version_b); + try_apply_quirk(QUIRK_NO_VERIFY, cfg); if (try_apply_quirk(QUIRK_MIN_PLATFORM_VERSION, cfg)) { if (!cfg->force_update) { ERROR("Add --force to waive checking the version.\n"); diff --git a/futility/updater.h b/futility/updater.h index 721f09f1..2562782b 100644 --- a/futility/updater.h +++ b/futility/updater.h @@ -47,6 +47,7 @@ enum quirk_types { QUIRK_OVERRIDE_SIGNATURE_ID, QUIRK_PRESERVE_ME, QUIRK_NO_CHECK_PLATFORM, + QUIRK_NO_VERIFY, QUIRK_MAX, }; diff --git a/futility/updater_quirks.c b/futility/updater_quirks.c index 5d996ad5..1f7fada9 100644 --- a/futility/updater_quirks.c +++ b/futility/updater_quirks.c @@ -434,6 +434,16 @@ static int quirk_no_check_platform(struct updater_config *cfg) } /* + * Disable verifying contents after flashing. + */ +static int quirk_no_verify(struct updater_config *cfg) +{ + WARN("Disabled verifying flashed contents. You are on your own.\n"); + cfg->do_verify = 0; + return 0; +} + +/* * Registers known quirks to a updater_config object. */ void updater_register_quirks(struct updater_config *cfg) @@ -497,6 +507,11 @@ void updater_register_quirks(struct updater_config *cfg) quirks->name = "no_check_platform"; quirks->help = "Do not check platform name."; quirks->apply = quirk_no_check_platform; + + quirks = &cfg->quirks[QUIRK_NO_VERIFY]; + quirks->name = "no_verify"; + quirks->help = "Do not verify when flashing."; + quirks->apply = quirk_no_verify; } /* |