9
0
Fork 0

Revert "memtest: move error handling to end of function"

While this simplifies the code as is I got the request to continue on
errors in memtest, which can be better implemented when the messages are
printed inline and not at the end of the function.

This reverts commit 4ff9e28abc.
This commit is contained in:
Sascha Hauer 2015-12-04 08:01:59 +01:00
parent 770c1ef83c
commit c85ef6a776
1 changed files with 20 additions and 17 deletions

View File

@ -363,7 +363,7 @@ static int update_progress(resource_size_t offset)
int mem_test_moving_inversions(resource_size_t _start, resource_size_t _end)
{
volatile resource_size_t *start, num_words, offset, pattern, expected;
volatile resource_size_t *start, num_words, offset, temp, anti_pattern;
int ret;
_start = ALIGN(_start, sizeof(resource_size_t));
@ -405,13 +405,17 @@ int mem_test_moving_inversions(resource_size_t _start, resource_size_t _end)
if (ret)
return ret;
pattern = start[offset];
expected = offset + 1;
temp = start[offset];
if (temp != (offset + 1)) {
printf("\n");
mem_test_report_failure("read/write",
(offset + 1),
temp, &start[offset]);
return -EIO;
}
if (pattern != expected)
goto mem_err;
start[offset] = ~start[offset];
anti_pattern = ~(offset + 1);
start[offset] = anti_pattern;
}
/* Check each location for the inverted pattern and zero it */
@ -420,11 +424,16 @@ int mem_test_moving_inversions(resource_size_t _start, resource_size_t _end)
if (ret)
return ret;
pattern = start[offset];
expected = ~(offset + 1);
anti_pattern = ~(offset + 1);
temp = start[offset];
if (pattern != expected)
goto mem_err;
if (temp != anti_pattern) {
printf("\n");
mem_test_report_failure("read/write",
anti_pattern,
temp, &start[offset]);
return -EIO;
}
start[offset] = 0;
}
@ -434,10 +443,4 @@ int mem_test_moving_inversions(resource_size_t _start, resource_size_t _end)
printf("\n");
return 0;
mem_err:
printf("\n");
mem_test_report_failure("read/write", expected, pattern, &start[offset]);
return -EIO;
}