diff options
-rw-r--r-- | futility/updater_utils.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/futility/updater_utils.c b/futility/updater_utils.c index 5a2a5e6d..a441e03d 100644 --- a/futility/updater_utils.c +++ b/futility/updater_utils.c @@ -639,6 +639,17 @@ int load_system_firmware(struct firmware_image *image, r = host_flashrom(FLASHROM_READ, tmp_path, image->programmer, verbosity, NULL, NULL); + /* + * The verbosity for host_flashrom will be translated to + * (verbosity-1)*'-V', and usually 3*'-V' is enough for debugging. + */ + const int debug_verbosity = 4; + if (r && verbosity < debug_verbosity) { + /* Read again, with verbose messages for debugging. */ + WARN("Failed reading system firmware (%d), try again...\n", r); + r = host_flashrom(FLASHROM_READ, tmp_path, image->programmer, + debug_verbosity, NULL, NULL); + } if (!r) r = load_firmware_image(image, tmp_path, NULL); return r; |