[PATCH] lib: raise severity of acpi method failures
Alex Hung
alex.hung at canonical.com
Wed Oct 18 06:33:51 UTC 2017
In many cases, incorrect returns of control methods cause function
failures, and therefore the failures should be critical
Signed-off-by: Alex Hung <alex.hung at canonical.com>
---
src/lib/src/fwts_acpi_object_eval.c | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/src/lib/src/fwts_acpi_object_eval.c b/src/lib/src/fwts_acpi_object_eval.c
index 337b311..1846718 100644
--- a/src/lib/src/fwts_acpi_object_eval.c
+++ b/src/lib/src/fwts_acpi_object_eval.c
@@ -486,7 +486,7 @@ int fwts_method_check_type__(
obj = buf->Pointer;
if (!fwts_method_type_matches(obj->Type, type)) {
- fwts_failed(fw, LOG_LEVEL_MEDIUM, "MethodReturnBadType",
+ fwts_failed(fw, LOG_LEVEL_CRITICAL, "MethodReturnBadType",
"Method %s did not return %s.", name, type_name);
return FWTS_ERROR;
}
@@ -554,7 +554,7 @@ void fwts_method_failed_null_object(
const char *name,
const char *type)
{
- fwts_failed(fw, LOG_LEVEL_MEDIUM, "MethodReturnNullObj",
+ fwts_failed(fw, LOG_LEVEL_CRITICAL, "MethodReturnNullObj",
"%s returned a NULL object, and did not "
"return %s.", name, type);
}
@@ -587,7 +587,7 @@ int fwts_method_package_count_min(
char tmp[128];
snprintf(tmp, sizeof(tmp), "Method%sElementCount", objname);
- fwts_failed(fw, LOG_LEVEL_MEDIUM, tmp,
+ fwts_failed(fw, LOG_LEVEL_CRITICAL, tmp,
"%s should return package of at least %" PRIu32
" element%s, got %" PRIu32 " element%s instead.",
name, min, min == 1 ? "" : "s",
@@ -612,7 +612,7 @@ int fwts_method_package_count_equal(
char tmp[128];
snprintf(tmp, sizeof(tmp), "Method%sElementCount", objname);
- fwts_failed(fw, LOG_LEVEL_MEDIUM, tmp,
+ fwts_failed(fw, LOG_LEVEL_CRITICAL, tmp,
"%s should return package of %" PRIu32
" element%s, got %" PRIu32 " element%s instead.",
name, count, count == 1 ? "" : "s",
@@ -636,7 +636,7 @@ int fwts_method_package_elements_all_type(
for (i = 0; i < obj->Package.Count; i++) {
if (!fwts_method_type_matches(obj->Package.Elements[i].Type, type)) {
snprintf(tmp, sizeof(tmp), "Method%sElementType", objname);
- fwts_failed(fw, LOG_LEVEL_MEDIUM, tmp,
+ fwts_failed(fw, LOG_LEVEL_CRITICAL, tmp,
"%s package element %" PRIu32 " was not the expected "
"type '%s', was instead type '%s'.",
name, i,
@@ -672,7 +672,7 @@ int fwts_method_package_elements_type(
for (i = 0; i < obj->Package.Count; i++) {
if (!fwts_method_type_matches(obj->Package.Elements[i].Type, info[i].type)) {
snprintf(tmp, sizeof(tmp), "Method%sElementType", objname);
- fwts_failed(fw, LOG_LEVEL_MEDIUM, tmp,
+ fwts_failed(fw, LOG_LEVEL_CRITICAL, tmp,
"%s package element %" PRIu32 " (%s) was not the expected "
"type '%s', was instead type '%s'.",
name, i, info[i].name,
@@ -798,7 +798,7 @@ void fwts_method_test_passed_failed_return(
if ((val == 0) || (val == 1))
fwts_method_passed_sane_uint64(fw, name, obj->Integer.Value);
else {
- fwts_failed(fw, LOG_LEVEL_MEDIUM,
+ fwts_failed(fw, LOG_LEVEL_CRITICAL,
"MethodReturnZeroOrOne",
"%s returned 0x%8.8" PRIx32 ", should return 1 "
"(success) or 0 (failed).", method, val);
@@ -832,7 +832,7 @@ void fwts_method_test_polling_return(
"%f seconds", method,
(float)obj->Integer.Value / 10.0);
} else {
- fwts_failed(fw, LOG_LEVEL_MEDIUM,
+ fwts_failed(fw, LOG_LEVEL_CRITICAL,
"MethodPollTimeTooLong",
"%s returned a value %f seconds > (1 hour) "
"which is probably incorrect.",
@@ -996,13 +996,13 @@ static void method_test_CRS_size(
if ((data_length < min) || (data_length > max)) {
if (min != max) {
- fwts_failed(fw, LOG_LEVEL_MEDIUM, tag,
+ fwts_failed(fw, LOG_LEVEL_CRITICAL, tag,
"%s Resource data size was %zd bytes long, "
"expected it to be between %zd and %zd bytes",
name, data_length, min, max);
*passed = false;
} else {
- fwts_failed(fw, LOG_LEVEL_MEDIUM, tag,
+ fwts_failed(fw, LOG_LEVEL_CRITICAL, tag,
"%s Resource data size was %zd bytes long, "
"expected it to be %zd bytes",
name, data_length, min);
@@ -1094,7 +1094,7 @@ void fwts_method_test_CRS_small_resource_items(
break;
if (data[1] & 0xfe) {
snprintf(tmp, sizeof(tmp), "Method%sIoPortInfoReservedNonZero", objname);
- fwts_failed(fw, LOG_LEVEL_LOW, tmp,
+ fwts_failed(fw, LOG_LEVEL_HIGH, tmp,
"%s I/O Port Descriptor Information field "
"has reserved bits that are non-zero, got "
"0x%" PRIx8 " and expected 0 or 1 for this "
@@ -1145,7 +1145,7 @@ void fwts_method_test_CRS_small_resource_items(
break;
default:
snprintf(tmp, sizeof(tmp), "Method%sUnkownSmallResourceItem", objname);
- fwts_failed(fw, LOG_LEVEL_LOW, tmp,
+ fwts_failed(fw, LOG_LEVEL_HIGH, tmp,
"%s tag bits 6:3 is an undefined "
"small tag item name, value 0x%" PRIx8 ".",
name, tag_item);
@@ -1181,7 +1181,7 @@ void fwts_method_test_CRS_large_size(
/* Small _CRS resources have a 3 byte header */
if (crs_length < 3) {
snprintf(tmp, sizeof(tmp), "Method%sBufferTooSmall", objname);
- fwts_failed(fw, LOG_LEVEL_MEDIUM, tmp,
+ fwts_failed(fw, LOG_LEVEL_CRITICAL, tmp,
"%s should return a buffer of at least three bytes in length.", name);
*passed = false;
return;
@@ -1563,7 +1563,7 @@ void fwts_method_test_CRS_large_resource_items(
}
if ((data[9] > 0x03) && (data[9] < 0x80)) {
snprintf(tmp, sizeof(tmp), "Method%sGpioConnTypeInvalid", objname);
- fwts_failed(fw, LOG_LEVEL_LOW, tmp,
+ fwts_failed(fw, LOG_LEVEL_HIGH, tmp,
"%s GPIO Connection Descriptor has an invalid "
"Pin Configuration Type 0x%" PRIx8 ".",
name, data[9]);
@@ -1584,7 +1584,7 @@ void fwts_method_test_CRS_large_resource_items(
break;
default:
snprintf(tmp, sizeof(tmp), "Method%sUnkownLargeResourceItem", objname);
- fwts_failed(fw, LOG_LEVEL_LOW, tmp,
+ fwts_failed(fw, LOG_LEVEL_HIGH, tmp,
"%s tag bits 6:0 is an undefined "
"large tag item name, value 0x%" PRIx8 ".",
name, tag_item);
--
2.7.4
More information about the fwts-devel
mailing list