diff options
Diffstat (limited to 'source/compiler/dtcompile.c')
-rw-r--r-- | source/compiler/dtcompile.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/source/compiler/dtcompile.c b/source/compiler/dtcompile.c index 45274168c543..e74fed517315 100644 --- a/source/compiler/dtcompile.c +++ b/source/compiler/dtcompile.c @@ -486,18 +486,21 @@ DtCompileDataTable ( } else if (TableData->TableInfo) { - /* Simple table, just walk the info table */ + /* Simple table, just walk the info table, unless its empty */ - Subtable = NULL; - Status = DtCompileTable (FieldList, TableData->TableInfo, - &Subtable, TRUE); - if (ACPI_FAILURE (Status)) + if (FieldList && *FieldList) { - return (Status); - } + Subtable = NULL; + Status = DtCompileTable (FieldList, TableData->TableInfo, + &Subtable, TRUE); + if (ACPI_FAILURE (Status)) + { + return (Status); + } - DtInsertSubtable (Gbl_RootTable, Subtable); - DtPopSubtable (); + DtInsertSubtable (Gbl_RootTable, Subtable); + DtPopSubtable (); + } } else { |