diff options
| author | Jung-uk Kim <jkim@FreeBSD.org> | 2012-08-16 17:26:22 +0000 |
|---|---|---|
| committer | Jung-uk Kim <jkim@FreeBSD.org> | 2012-08-16 17:26:22 +0000 |
| commit | fc8e34d9a95f87b780f9ee3d400dd995aba2ce27 (patch) | |
| tree | a28a9676fa0b9e969cfd83d7a508660c754c8b3e /source/components/dispatcher | |
| parent | 8724452f676e45bfd39cfb47234f7def5551f067 (diff) | |
Notes
Diffstat (limited to 'source/components/dispatcher')
| -rw-r--r-- | source/components/dispatcher/dswload.c | 14 | ||||
| -rw-r--r-- | source/components/dispatcher/dswload2.c | 14 |
2 files changed, 28 insertions, 0 deletions
diff --git a/source/components/dispatcher/dswload.c b/source/components/dispatcher/dswload.c index d40f911f417c..c2431155a1f4 100644 --- a/source/components/dispatcher/dswload.c +++ b/source/components/dispatcher/dswload.c @@ -241,6 +241,20 @@ AcpiDsLoad1BeginOp ( WalkState->ScopeInfo->Common.Value = ACPI_TYPE_ANY; break; + case ACPI_TYPE_METHOD: + + /* + * Allow scope change to root during execution of module-level + * code. Root is typed METHOD during this time. + */ + if ((Node == AcpiGbl_RootNode) && + (WalkState->ParseFlags & ACPI_PARSE_MODULE_LEVEL)) + { + break; + } + + /*lint -fallthrough */ + default: /* All other types are an error */ diff --git a/source/components/dispatcher/dswload2.c b/source/components/dispatcher/dswload2.c index 27e317620911..90d85d6501da 100644 --- a/source/components/dispatcher/dswload2.c +++ b/source/components/dispatcher/dswload2.c @@ -243,6 +243,20 @@ AcpiDsLoad2BeginOp ( WalkState->ScopeInfo->Common.Value = ACPI_TYPE_ANY; break; + case ACPI_TYPE_METHOD: + + /* + * Allow scope change to root during execution of module-level + * code. Root is typed METHOD during this time. + */ + if ((Node == AcpiGbl_RootNode) && + (WalkState->ParseFlags & ACPI_PARSE_MODULE_LEVEL)) + { + break; + } + + /*lint -fallthrough */ + default: /* All other types are an error */ |
