diff options
author | Bob Moore <robert.moore@intel.com> | 2008-11-12 02:15:29 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-12-29 22:38:36 -0500 |
commit | fc37445733aeae4fd1a20385850620354263b1d5 (patch) | |
tree | a989d6bf8dcc2011f25e365532c3855a48f11c62 /include/acpi/aclocal.h | |
parent | 96411a630412f057d365aa1e9de7d23c069d627a (diff) |
ACPICA: Add a mechanism to escape infinite AML While() loops
Add a loop counter to force exit from AML While loops if the
count becomes too large. This can occur in poorly written AML
when the hardware does not respond within a while loop and the
loop does not implement a timeout. The maximum loop count is
configurable. A new exception code is returned when a loop is
broken, AE_AML_INFINITE_LOOP. Bob Moore, Alexey Starikovskiy.
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/acpi/aclocal.h')
-rw-r--r-- | include/acpi/aclocal.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/acpi/aclocal.h b/include/acpi/aclocal.h index ecab527cf78e..0323fa9aa3e6 100644 --- a/include/acpi/aclocal.h +++ b/include/acpi/aclocal.h | |||
@@ -566,6 +566,7 @@ struct acpi_control_state { | |||
566 | union acpi_parse_object *predicate_op; | 566 | union acpi_parse_object *predicate_op; |
567 | u8 *aml_predicate_start; /* Start of if/while predicate */ | 567 | u8 *aml_predicate_start; /* Start of if/while predicate */ |
568 | u8 *package_end; /* End of if/while block */ | 568 | u8 *package_end; /* End of if/while block */ |
569 | u32 loop_count; /* While() loop counter */ | ||
569 | }; | 570 | }; |
570 | 571 | ||
571 | /* | 572 | /* |