aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2008-04-10 11:06:39 -0400
committerLen Brown <len.brown@intel.com>2008-04-22 14:29:25 -0400
commit61ce421bb761f607b802c268bd8bd6a0c928a661 (patch)
treee0a18886209192de2145b3c08ba4b4ed865de017 /drivers
parent5eb691805f7ec5960fe9d5d7fc57a7fc3097bbd0 (diff)
ACPICA: Fix a fault when storing DdbHandle to Debug object
Fixed a problem with the Debug object where a store of a DdbHandle reference object to the Debug object could cause a fault. Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/acpi/executer/exstore.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/acpi/executer/exstore.c b/drivers/acpi/executer/exstore.c
index f88b18163206..912889ed45ed 100644
--- a/drivers/acpi/executer/exstore.c
+++ b/drivers/acpi/executer/exstore.c
@@ -123,6 +123,8 @@ acpi_ex_do_debug_object(union acpi_operand_object *source_desc,
123 return_VOID; 123 return_VOID;
124 } 124 }
125 125
126 /* source_desc is of type ACPI_DESC_TYPE_OPERAND */
127
126 switch (ACPI_GET_OBJECT_TYPE(source_desc)) { 128 switch (ACPI_GET_OBJECT_TYPE(source_desc)) {
127 case ACPI_TYPE_INTEGER: 129 case ACPI_TYPE_INTEGER:
128 130
@@ -180,11 +182,19 @@ acpi_ex_do_debug_object(union acpi_operand_object *source_desc,
180 (source_desc->reference.opcode), 182 (source_desc->reference.opcode),
181 source_desc->reference.offset)); 183 source_desc->reference.offset));
182 } else { 184 } else {
183 ACPI_DEBUG_PRINT_RAW((ACPI_DB_DEBUG_OBJECT, "[%s]\n", 185 ACPI_DEBUG_PRINT_RAW((ACPI_DB_DEBUG_OBJECT, "[%s]",
184 acpi_ps_get_opcode_name 186 acpi_ps_get_opcode_name
185 (source_desc->reference.opcode))); 187 (source_desc->reference.opcode)));
186 } 188 }
187 189
190 if (source_desc->reference.opcode == AML_LOAD_OP) { /* Load and load_table */
191 ACPI_DEBUG_PRINT_RAW((ACPI_DB_DEBUG_OBJECT,
192 " Table OwnerId %X\n",
193 source_desc->reference.object));
194 break;
195 }
196
197 ACPI_DEBUG_PRINT_RAW((ACPI_DB_DEBUG_OBJECT, "\n"));
188 if (source_desc->reference.object) { 198 if (source_desc->reference.object) {
189 if (ACPI_GET_DESCRIPTOR_TYPE 199 if (ACPI_GET_DESCRIPTOR_TYPE
190 (source_desc->reference.object) == 200 (source_desc->reference.object) ==