aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/dispatcher/dswload.c
diff options
context:
space:
mode:
authorRobert Moore <Robert.Moore@intel.com>2005-09-02 17:24:17 -0400
committerLen Brown <len.brown@intel.com>2005-09-03 00:15:11 -0400
commitaff8c2777d1a9edf97f26bf60579f9c931443eb1 (patch)
treefcd5bfe84e0e3aeb328d60ec41776522b9b7d122 /drivers/acpi/dispatcher/dswload.c
parenta94f18810f52d3a6de0a09bee0c7258b62eca262 (diff)
[ACPI] ACPICA 20050902
Fixed a problem with the internal Owner ID allocation and deallocation mechanisms for control method execution and recursive method invocation. This should eliminate the OWNER_ID_LIMIT exceptions and "Invalid OwnerId" messages seen on some systems. Recursive method invocation depth is currently limited to 255. (Alexey Starikovskiy) http://bugzilla.kernel.org/show_bug.cgi?id=4892 Completely eliminated all vestiges of support for the "module-level executable code" until this support is fully implemented and debugged. This should eliminate the NO_RETURN_VALUE exceptions seen during table load on some systems that invoke this support. http://bugzilla.kernel.org/show_bug.cgi?id=5162 Fixed a problem within the resource manager code where the transaction flags for a 64-bit address descriptor were handled incorrectly in the type-specific flag byte. Consolidated duplicate code within the address descriptor resource manager code, reducing overall subsystem code size. Signed-off-by: Robert Moore <Robert.Moore@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/dispatcher/dswload.c')
-rw-r--r--drivers/acpi/dispatcher/dswload.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/acpi/dispatcher/dswload.c b/drivers/acpi/dispatcher/dswload.c
index 362bbcfc1718..411731261c29 100644
--- a/drivers/acpi/dispatcher/dswload.c
+++ b/drivers/acpi/dispatcher/dswload.c
@@ -486,8 +486,10 @@ acpi_ds_load2_begin_op(struct acpi_walk_state * walk_state,
486 if ((!(walk_state->op_info->flags & AML_NSOPCODE) && 486 if ((!(walk_state->op_info->flags & AML_NSOPCODE) &&
487 (walk_state->opcode != AML_INT_NAMEPATH_OP)) || 487 (walk_state->opcode != AML_INT_NAMEPATH_OP)) ||
488 (!(walk_state->op_info->flags & AML_NAMED))) { 488 (!(walk_state->op_info->flags & AML_NAMED))) {
489#ifdef ACPI_ENABLE_MODULE_LEVEL_CODE
489 if ((walk_state->op_info->class == AML_CLASS_EXECUTE) || 490 if ((walk_state->op_info->class == AML_CLASS_EXECUTE) ||
490 (walk_state->op_info->class == AML_CLASS_CONTROL)) { 491 (walk_state->op_info->class == AML_CLASS_CONTROL)) {
492
491 ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, 493 ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
492 "Begin/EXEC: %s (fl %8.8X)\n", 494 "Begin/EXEC: %s (fl %8.8X)\n",
493 walk_state->op_info->name, 495 walk_state->op_info->name,
@@ -499,6 +501,7 @@ acpi_ds_load2_begin_op(struct acpi_walk_state * walk_state,
499 acpi_ds_exec_begin_op(walk_state, out_op); 501 acpi_ds_exec_begin_op(walk_state, out_op);
500 return_ACPI_STATUS(status); 502 return_ACPI_STATUS(status);
501 } 503 }
504#endif
502 return_ACPI_STATUS(AE_OK); 505 return_ACPI_STATUS(AE_OK);
503 } 506 }
504 507
@@ -731,6 +734,7 @@ acpi_status acpi_ds_load2_end_op(struct acpi_walk_state *walk_state)
731 734
732 if (!(walk_state->op_info->flags & AML_NSOBJECT)) { 735 if (!(walk_state->op_info->flags & AML_NSOBJECT)) {
733#ifndef ACPI_NO_METHOD_EXECUTION 736#ifndef ACPI_NO_METHOD_EXECUTION
737#ifdef ACPI_ENABLE_MODULE_LEVEL_CODE
734 /* No namespace object. Executable opcode? */ 738 /* No namespace object. Executable opcode? */
735 739
736 if ((walk_state->op_info->class == AML_CLASS_EXECUTE) || 740 if ((walk_state->op_info->class == AML_CLASS_EXECUTE) ||
@@ -746,6 +750,7 @@ acpi_status acpi_ds_load2_end_op(struct acpi_walk_state *walk_state)
746 return_ACPI_STATUS(status); 750 return_ACPI_STATUS(status);
747 } 751 }
748#endif 752#endif
753#endif
749 return_ACPI_STATUS(AE_OK); 754 return_ACPI_STATUS(AE_OK);
750 } 755 }
751 756