summaryrefslogtreecommitdiff
path: root/firmware/2lib/2ui_screens.c
diff options
context:
space:
mode:
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)