mirror of https://gitee.com/openkylin/linux.git
ACPICA: Interpreter: Emit warning for creation of a zero-length op region
ACPICA commit 387c850c5d49d09d7c2e70b2711e584ad83956a1 Nothing can be done with such a region. Just emit a warning so as not to abort a table load or running method. Link: https://github.com/acpica/acpica/commit/387c850c Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Erik Schmauss <erik.schmauss@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
aa342261bd
commit
b3381bd902
|
@ -356,6 +356,7 @@ acpi_ds_eval_region_operands(struct acpi_walk_state *walk_state,
|
|||
union acpi_operand_object *operand_desc;
|
||||
struct acpi_namespace_node *node;
|
||||
union acpi_parse_object *next_op;
|
||||
acpi_adr_space_type space_id;
|
||||
|
||||
ACPI_FUNCTION_TRACE_PTR(ds_eval_region_operands, op);
|
||||
|
||||
|
@ -368,6 +369,7 @@ acpi_ds_eval_region_operands(struct acpi_walk_state *walk_state,
|
|||
/* next_op points to the op that holds the space_ID */
|
||||
|
||||
next_op = op->common.value.arg;
|
||||
space_id = (acpi_adr_space_type)next_op->common.value.integer;
|
||||
|
||||
/* next_op points to address op */
|
||||
|
||||
|
@ -403,6 +405,15 @@ acpi_ds_eval_region_operands(struct acpi_walk_state *walk_state,
|
|||
obj_desc->region.length = (u32) operand_desc->integer.value;
|
||||
acpi_ut_remove_reference(operand_desc);
|
||||
|
||||
/* A zero-length operation region is unusable. Just warn */
|
||||
|
||||
if (!obj_desc->region.length
|
||||
&& (space_id < ACPI_NUM_PREDEFINED_REGIONS)) {
|
||||
ACPI_WARNING((AE_INFO,
|
||||
"Operation Region [%4.4s] has zero length (SpaceId %X)",
|
||||
node->name.ascii, space_id));
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the address and save it
|
||||
* (at top of stack - 1)
|
||||
|
|
Loading…
Reference in New Issue