diff options
Diffstat (limited to 'source/components/dispatcher/dsmethod.c')
-rw-r--r-- | source/components/dispatcher/dsmethod.c | 14 |
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 (); } |