summaryrefslogtreecommitdiff
path: root/firmware/2lib/2ui_screens.c
diff options
context:
space:
mode:
authorHsuan Ting Chen <roccochen@chromium.org>2020-09-23 12:37:45 +0800
committerCommit Bot <commit-bot@chromium.org>2020-11-12 12:40:05 +0000
commit9a820d73511379877b077fde452c31fede89da23 (patch)
treec9df9eff93ad9519e4e2c3a51739a01df3a2f0c5 /firmware/2lib/2ui_screens.c
parent34e90fe57efa32774f5a5d6073cbc74a126e676c (diff)
downloadvboot-stabilize-13597.67.B.tar.gz
Add a return code `VB2_ERROR_EX_DIAG_TEST_UPDATED` to determine if updating needed. BUG=b:168776970 BRANCH=none TEST=Build locally, boot recovery, select 'run diagnostics', enter memory test (quick) screen, and observe that the delay reduces while pressing keyboard Cq-Depend: chromium:2423699 Signed-off-by: Hsuan Ting Chen <roccochen@chromium.org> Change-Id: I7606911bee7257e8eed4ec35d197efaa57b72e13 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2424370 Reviewed-by: Yu-Ping Wu <yupingso@chromium.org>
Diffstat (limited to 'firmware/2lib/2ui_screens.c')
-rw-r--r--firmware/2lib/2ui_screens.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/firmware/2lib/2ui_screens.c b/firmware/2lib/2ui_screens.c
index 878b4ed7..2ec779c7 100644
--- a/firmware/2lib/2ui_screens.c
+++ b/firmware/2lib/2ui_screens.c
@@ -1129,7 +1129,12 @@ static vb2_error_t diagnostics_memory_update_screen(struct vb2_ui_context *ui,
return VB2_REQUEST_UI_CONTINUE;
vb2_error_t rv = op(reset, &log_string);
- if ((rv && rv != VB2_ERROR_EX_DIAG_TEST_RUNNING) || !log_string) {
+
+ /* The test is still running but the output buffer was unchanged. */
+ if (rv == VB2_ERROR_EX_DIAG_TEST_RUNNING)
+ return VB2_REQUEST_UI_CONTINUE;
+
+ if ((rv && rv != VB2_ERROR_EX_DIAG_TEST_UPDATED) || !log_string) {
VB2_DEBUG("ERROR: Failed to retrieve memory test status\n");
ui->error_code = VB2_UI_ERROR_DIAGNOSTICS;
return vb2_ui_screen_back(ui);
@@ -1152,7 +1157,7 @@ static vb2_error_t diagnostics_memory_update_screen(struct vb2_ui_context *ui,
VB2_CLR_BIT(ui->state->hidden_item_mask,
DIAGNOSTICS_MEMORY_ITEM_CANCEL);
VB2_CLR_BIT(ui->state->hidden_item_mask, DIAGNOSTICS_MEMORY_ITEM_BACK);
- if (rv == VB2_ERROR_EX_DIAG_TEST_RUNNING) {
+ if (rv == VB2_ERROR_EX_DIAG_TEST_UPDATED) {
VB2_SET_BIT(ui->state->hidden_item_mask,
DIAGNOSTICS_MEMORY_ITEM_BACK);
if (ui->state->selected_item == DIAGNOSTICS_MEMORY_ITEM_BACK)