diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2015-05-18 23:17:05 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2015-05-18 23:17:05 +0000 |
commit | 615eb2945402758f050f1cb469181d3d22a22aa3 (patch) | |
tree | 0f95f8242a48aa24d8a795f626766746819b5227 /source/common/adisasm.c | |
parent | 2a91972d59fb9df39eae760a853d6f5bc4065cf0 (diff) |
Notes
Diffstat (limited to 'source/common/adisasm.c')
-rw-r--r-- | source/common/adisasm.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/source/common/adisasm.c b/source/common/adisasm.c index b04a352dddd9..a092923ed27b 100644 --- a/source/common/adisasm.c +++ b/source/common/adisasm.c @@ -214,6 +214,7 @@ AdAmlDisassemble ( char **OutFilename) { ACPI_STATUS Status; + ACPI_STATUS GlobalStatus = AE_OK; char *DisasmFilename = NULL; char *ExternalFilename; ACPI_EXTERNAL_FILE *ExternalFileList = AcpiGbl_ExternalFileList; @@ -229,7 +230,7 @@ AdAmlDisassemble ( */ if (Filename) { - Status = AcpiDbGetTableFromFile (Filename, &Table); + Status = AcpiDbGetTableFromFile (Filename, &Table, FALSE); if (ACPI_FAILURE (Status)) { return (Status); @@ -250,9 +251,16 @@ AdAmlDisassemble ( continue; } - Status = AcpiDbGetTableFromFile (ExternalFilename, &ExternalTable); + Status = AcpiDbGetTableFromFile (ExternalFilename, &ExternalTable, TRUE); if (ACPI_FAILURE (Status)) { + if (Status == AE_TYPE) + { + ExternalFileList = ExternalFileList->Next; + GlobalStatus = AE_TYPE; + Status = AE_OK; + continue; + } return (Status); } @@ -282,6 +290,11 @@ AdAmlDisassemble ( ExternalFileList = ExternalFileList->Next; } + if (ACPI_FAILURE (GlobalStatus)) + { + return (GlobalStatus); + } + /* Clear external list generated by Scope in external tables */ if (AcpiGbl_ExternalFileList) |