[ACPI] ACPICA 20060210
Removed a couple of extraneous ACPI_ERROR messages that appeared during normal execution. These became apparent after the conversion from ACPI_DEBUG_PRINT. Fixed a problem where the CreateField operator could hang if the BitIndex or NumBits parameter referred to a named object. From Valery Podrezov. http://bugzilla.kernel.org/show_bug.cgi?id=5359 Fixed a problem where a DeRefOf operation on a buffer object incorrectly failed with an exception. This also fixes a couple of related RefOf and DeRefOf issues. From Valery Podrezov. http://bugzilla.kernel.org/show_bug.cgi?id=5360 http://bugzilla.kernel.org/show_bug.cgi?id=5387 http://bugzilla.kernel.org/show_bug.cgi?id=5392 Fixed a problem where the AE_BUFFER_LIMIT exception was returned instead of AE_STRING_LIMIT on an out-of-bounds Index() operation. From Valery Podrezov. http://bugzilla.kernel.org/show_bug.cgi?id=5480 Implemented a memory cleanup at the end of the execution of each iteration of an AML While() loop, preventing the accumulation of outstanding objects. From Valery Podrezov. http://bugzilla.kernel.org/show_bug.cgi?id=5427 Eliminated a chunk of duplicate code in the object resolution code. From Valery Podrezov. http://bugzilla.kernel.org/show_bug.cgi?id=5336 Fixed several warnings during the 64-bit code generation. Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
@@ -98,6 +98,7 @@ acpi_status acpi_ns_root_initialize(void)
|
||||
"Entering predefined entries into namespace\n"));
|
||||
|
||||
for (init_val = acpi_gbl_pre_defined_names; init_val->name; init_val++) {
|
||||
|
||||
/* _OSI is optional for now, will be permanent later */
|
||||
|
||||
if (!ACPI_STRCMP(init_val->name, "_OSI")
|
||||
@@ -365,6 +366,7 @@ acpi_ns_lookup(union acpi_generic_state *scope_info,
|
||||
* Begin examination of the actual pathname
|
||||
*/
|
||||
if (!pathname) {
|
||||
|
||||
/* A Null name_path is allowed and refers to the root */
|
||||
|
||||
num_segments = 0;
|
||||
@@ -389,6 +391,7 @@ acpi_ns_lookup(union acpi_generic_state *scope_info,
|
||||
* to the current scope).
|
||||
*/
|
||||
if (*path == (u8) AML_ROOT_PREFIX) {
|
||||
|
||||
/* Pathname is fully qualified, start from the root */
|
||||
|
||||
this_node = acpi_gbl_root_node;
|
||||
@@ -416,6 +419,7 @@ acpi_ns_lookup(union acpi_generic_state *scope_info,
|
||||
this_node = prefix_node;
|
||||
num_carats = 0;
|
||||
while (*path == (u8) AML_PARENT_PREFIX) {
|
||||
|
||||
/* Name is fully qualified, no search rules apply */
|
||||
|
||||
search_parent_flag = ACPI_NS_NO_UPSEARCH;
|
||||
@@ -430,6 +434,7 @@ acpi_ns_lookup(union acpi_generic_state *scope_info,
|
||||
num_carats++;
|
||||
this_node = acpi_ns_get_parent_node(this_node);
|
||||
if (!this_node) {
|
||||
|
||||
/* Current scope has no parent scope */
|
||||
|
||||
ACPI_ERROR((AE_INFO,
|
||||
@@ -569,6 +574,7 @@ acpi_ns_lookup(union acpi_generic_state *scope_info,
|
||||
&this_node);
|
||||
if (ACPI_FAILURE(status)) {
|
||||
if (status == AE_NOT_FOUND) {
|
||||
|
||||
/* Name not found in ACPI namespace */
|
||||
|
||||
ACPI_DEBUG_PRINT((ACPI_DB_NAMES,
|
||||
@@ -602,6 +608,7 @@ acpi_ns_lookup(union acpi_generic_state *scope_info,
|
||||
(type_to_check_for != ACPI_TYPE_LOCAL_SCOPE) &&
|
||||
(this_node->type != ACPI_TYPE_ANY) &&
|
||||
(this_node->type != type_to_check_for)) {
|
||||
|
||||
/* Complain about a type mismatch */
|
||||
|
||||
ACPI_WARNING((AE_INFO,
|
||||
|
Reference in New Issue
Block a user