diff options
author | Bob Moore <robert.moore@intel.com> | 2008-04-10 11:06:39 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-04-22 14:29:25 -0400 |
commit | 61ce421bb761f607b802c268bd8bd6a0c928a661 (patch) | |
tree | e0a18886209192de2145b3c08ba4b4ed865de017 /drivers/acpi/executer | |
parent | 5eb691805f7ec5960fe9d5d7fc57a7fc3097bbd0 (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/acpi/executer')
-rw-r--r-- | drivers/acpi/executer/exstore.c | 12 |
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) == |