diff options
author | Piotr Maziarz <piotrx.maziarz@linux.intel.com> | 2021-12-16 17:43:12 +0100 |
---|---|---|
committer | Piotr Maziarz <piotrx.maziarz@linux.intel.com> | 2022-01-13 19:23:36 +0100 |
commit | 23a659e190cf3ed0edd46cddf12bbbcfeaa09396 (patch) | |
tree | 93fa5b26e3168532ce27aeaa2060a24a3075c433 /source/compiler | |
parent | cf7d6ccc009aa04a475bca81dc7af0342bb7c1eb (diff) | |
download | acpica-23a659e190cf3ed0edd46cddf12bbbcfeaa09396.tar.gz |
iASL: NHLT: Treat Terminator as SpecificConfig
SpecificConfig has 4 bytes of size and then an amount of bytes specified
by size. All of the terminators that I've seen had a size equal to 4, but
theoretically it can vary.
Diffstat (limited to 'source/compiler')
-rw-r--r-- | source/compiler/dttable2.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/source/compiler/dttable2.c b/source/compiler/dttable2.c index 854063611..f0481928d 100644 --- a/source/compiler/dttable2.c +++ b/source/compiler/dttable2.c @@ -1143,11 +1143,21 @@ DtCompileNhlt ( /* * All Endpoint Descriptors are completed. - * Do the table terminator structure (not in NHLT spec, optional) + * Do the table terminator specific config (not in NHLT spec, optional) */ if (*PFieldList && (strcmp ((const char *) (*PFieldList)->Name, "Descriptor Length"))) { - Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt8, + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt5b, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt3a, &Subtable); if (ACPI_FAILURE (Status)) { |