summaryrefslogtreecommitdiff
path: root/source/components/dispatcher/dsmethod.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/components/dispatcher/dsmethod.c')
-rw-r--r--source/components/dispatcher/dsmethod.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/source/components/dispatcher/dsmethod.c b/source/components/dispatcher/dsmethod.c
index d3588f5aaf16..79dff2c766cb 100644
--- a/source/components/dispatcher/dsmethod.c
+++ b/source/components/dispatcher/dsmethod.c
@@ -333,6 +333,7 @@ AcpiDsMethodError (
ACPI_WALK_STATE *WalkState)
{
UINT32 AmlOffset;
+ ACPI_NAME Name = 0;
ACPI_FUNCTION_ENTRY ();
@@ -361,9 +362,16 @@ AcpiDsMethodError (
AmlOffset = (UINT32) ACPI_PTR_DIFF (WalkState->Aml,
WalkState->ParserState.AmlStart);
- Status = AcpiGbl_ExceptionHandler (Status,
- WalkState->MethodNode ?
- WalkState->MethodNode->Name.Integer : 0,
+ if (WalkState->MethodNode)
+ {
+ Name = WalkState->MethodNode->Name.Integer;
+ }
+ else if (WalkState->DeferredNode)
+ {
+ Name = WalkState->DeferredNode->Name.Integer;
+ }
+
+ Status = AcpiGbl_ExceptionHandler (Status, Name,
WalkState->Opcode, AmlOffset, NULL);
AcpiExEnterInterpreter ();
}