Message ID | 20200717223021.213648-1-colin.king@canonical.com |
---|---|
State | Accepted |
Headers | show |
Series | ACPICA: Update to version 20200717 | expand |
On 2020-07-17 4:30 p.m., Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > Changes in this release of ACPICA are detailed at the following > link on the ACPICA developer mailing list: > > https://lists.acpica.org/hyperkitty/list/devel@acpica.org/thread/CXHTTCYQS6APX5VI4ZS6GC7WD7E5FD3B/ > > Signed-off-by: Colin Ian King <colin.king@canonical.com> > --- > src/acpica/source/compiler/aslerror.c | 2 +- > src/acpica/source/compiler/aslexternal.c | 8 ++++++++ > src/acpica/source/compiler/aslload.c | 10 +++++----- > src/acpica/source/compiler/aslmethod.c | 12 ++++++++++++ > src/acpica/source/compiler/aslxref.c | 4 +++- > src/acpica/source/components/executer/exprep.c | 4 ---- > src/acpica/source/components/utilities/utdelete.c | 6 +----- > src/acpica/source/components/utilities/utids.c | 2 +- > src/acpica/source/include/acpixf.h | 2 +- > src/acpica/source/include/actypes.h | 2 +- > 10 files changed, 33 insertions(+), 19 deletions(-) > > diff --git a/src/acpica/source/compiler/aslerror.c b/src/acpica/source/compiler/aslerror.c > index 8fae779d..15098342 100644 > --- a/src/acpica/source/compiler/aslerror.c > +++ b/src/acpica/source/compiler/aslerror.c > @@ -1056,7 +1056,7 @@ GetModifiedLevel ( > UINT8 Level, > UINT16 MessageId) > { > - UINT16 i; > + UINT32 i; > UINT16 ExceptionCode; > > > diff --git a/src/acpica/source/compiler/aslexternal.c b/src/acpica/source/compiler/aslexternal.c > index 315247be..a05ba118 100644 > --- a/src/acpica/source/compiler/aslexternal.c > +++ b/src/acpica/source/compiler/aslexternal.c > @@ -200,6 +200,14 @@ ExDoExternal ( > > > ExternType = AnMapObjTypeToBtype (ExternTypeOp); > + if (ExternType != ACPI_BTYPE_METHOD) > + { > + /* > + * If this is not a method, it has zero parameters this local variable > + * is used only for methods > + */ > + ParamCount = 0; > + } > > /* > * The parser allows optional parameter return types regardless of the > diff --git a/src/acpica/source/compiler/aslload.c b/src/acpica/source/compiler/aslload.c > index bdc0d805..454fa8f5 100644 > --- a/src/acpica/source/compiler/aslload.c > +++ b/src/acpica/source/compiler/aslload.c > @@ -1177,13 +1177,13 @@ LdAnalyzeExternals ( > * previously declared External > */ > Node->Flags &= ~ANOBJ_IS_EXTERNAL; > - Node->Type = (UINT8) ExternalOpType; > + Node->Type = (UINT8) ActualOpType; > > /* Just retyped a node, probably will need to open a scope */ > > - if (AcpiNsOpensScope (ExternalOpType)) > + if (AcpiNsOpensScope (ActualOpType)) > { > - Status = AcpiDsScopeStackPush (Node, ExternalOpType, WalkState); > + Status = AcpiDsScopeStackPush (Node, ActualOpType, WalkState); > if (ACPI_FAILURE (Status)) > { > return (Status); > @@ -1204,11 +1204,11 @@ LdAnalyzeExternals ( > } > else if ((Node->Flags & ANOBJ_IS_EXTERNAL) && > (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL) && > - (ExternalOpType == ACPI_TYPE_ANY)) > + (ActualOpType == ACPI_TYPE_ANY)) > { > /* Allow update of externals of unknown type. */ > > - Node->Type = (UINT8) ExternalOpType; > + Node->Type = (UINT8) ActualExternalOpType; > Status = AE_OK; > } > > diff --git a/src/acpica/source/compiler/aslmethod.c b/src/acpica/source/compiler/aslmethod.c > index ff6fd474..32b4b123 100644 > --- a/src/acpica/source/compiler/aslmethod.c > +++ b/src/acpica/source/compiler/aslmethod.c > @@ -306,6 +306,8 @@ MtMethodAnalysisWalkBegin ( > { > ActualArgs = MtProcessParameterTypeList (NextType, > MethodInfo->ValidArgTypes); > + MethodInfo->NumArguments = ActualArgs; > + ArgNode->Asl.Value.Integer |= ActualArgs; > } > > if ((MethodInfo->NumArguments) && > @@ -671,6 +673,16 @@ MtProcessParameterTypeList ( > UINT8 ParameterCount = 0; > > > + if (ParamTypeOp && ParamTypeOp->Asl.ParseOpcode != PARSEOP_DEFAULT_ARG) > + { > + /* Special case for a single parameter without braces */ > + > + TypeList[ParameterCount] = > + MtProcessTypeOp (ParamTypeOp); > + > + return (1); > + } > + > while (ParamTypeOp) > { > TypeList[ParameterCount] = > diff --git a/src/acpica/source/compiler/aslxref.c b/src/acpica/source/compiler/aslxref.c > index 4bbbe2bd..9306af20 100644 > --- a/src/acpica/source/compiler/aslxref.c > +++ b/src/acpica/source/compiler/aslxref.c > @@ -994,12 +994,14 @@ XfNamespaceLocateBegin ( > * invocation of the method, it is simply a reference to the method. > * > * September 2016: Removed DeRefOf from this list > + * July 2020: Added Alias to this list > */ > if ((Op->Asl.Parent) && > ((Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_REFOF) || > (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_PACKAGE) || > (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_VAR_PACKAGE)|| > - (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_OBJECTTYPE))) > + (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_OBJECTTYPE) || > + (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_ALIAS))) > { > return_ACPI_STATUS (AE_OK); > } > diff --git a/src/acpica/source/components/executer/exprep.c b/src/acpica/source/components/executer/exprep.c > index 6ceac68f..3074366d 100644 > --- a/src/acpica/source/components/executer/exprep.c > +++ b/src/acpica/source/components/executer/exprep.c > @@ -651,10 +651,6 @@ AcpiExPrepFieldValue ( > } > } > > - /* An additional reference for the container */ > - > - AcpiUtAddReference (ObjDesc->Field.RegionObj); > - > ACPI_DEBUG_PRINT ((ACPI_DB_BFIELD, > "RegionField: BitOff %X, Off %X, Gran %X, Region %p\n", > ObjDesc->Field.StartFieldBitOffset, > diff --git a/src/acpica/source/components/utilities/utdelete.c b/src/acpica/source/components/utilities/utdelete.c > index 502ff413..aafd5295 100644 > --- a/src/acpica/source/components/utilities/utdelete.c > +++ b/src/acpica/source/components/utilities/utdelete.c > @@ -749,11 +749,6 @@ AcpiUtUpdateObjectReference ( > NextObject = Object->BufferField.BufferObj; > break; > > - case ACPI_TYPE_LOCAL_REGION_FIELD: > - > - NextObject = Object->Field.RegionObj; > - break; > - > case ACPI_TYPE_LOCAL_BANK_FIELD: > > NextObject = Object->BankField.BankObj; > @@ -789,6 +784,7 @@ AcpiUtUpdateObjectReference ( > } > break; > > + case ACPI_TYPE_LOCAL_REGION_FIELD: > case ACPI_TYPE_REGION: > default: > > diff --git a/src/acpica/source/components/utilities/utids.c b/src/acpica/source/components/utilities/utids.c > index e296c00a..34ae697a 100644 > --- a/src/acpica/source/components/utilities/utids.c > +++ b/src/acpica/source/components/utilities/utids.c > @@ -435,7 +435,7 @@ AcpiUtExecute_CID ( > * 3) Size of the actual CID strings > */ > CidListSize = sizeof (ACPI_PNP_DEVICE_ID_LIST) + > - ((Count - 1) * sizeof (ACPI_PNP_DEVICE_ID)) + > + (Count * sizeof (ACPI_PNP_DEVICE_ID)) + > StringAreaSize; > > CidList = ACPI_ALLOCATE_ZEROED (CidListSize); > diff --git a/src/acpica/source/include/acpixf.h b/src/acpica/source/include/acpixf.h > index 2eafdeac..c1b55401 100644 > --- a/src/acpica/source/include/acpixf.h > +++ b/src/acpica/source/include/acpixf.h > @@ -154,7 +154,7 @@ > > /* Current ACPICA subsystem version in YYYYMMDD format */ > > -#define ACPI_CA_VERSION 0x20200528 > +#define ACPI_CA_VERSION 0x20200717 > > #include "acconfig.h" > #include "actypes.h" > diff --git a/src/acpica/source/include/actypes.h b/src/acpica/source/include/actypes.h > index 2666ebfb..0ec14a36 100644 > --- a/src/acpica/source/include/actypes.h > +++ b/src/acpica/source/include/actypes.h > @@ -1379,7 +1379,7 @@ typedef struct acpi_pnp_device_id_list > { > UINT32 Count; /* Number of IDs in Ids array */ > UINT32 ListSize; /* Size of list, including ID strings */ > - ACPI_PNP_DEVICE_ID Ids[1]; /* ID array */ > + ACPI_PNP_DEVICE_ID Ids[]; /* ID array */ > > } ACPI_PNP_DEVICE_ID_LIST; > > Acked-by: Alex Hung <alex.hung@canonical.com>
On 7/18/20 6:30 AM, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > Changes in this release of ACPICA are detailed at the following > link on the ACPICA developer mailing list: > > https://lists.acpica.org/hyperkitty/list/devel@acpica.org/thread/CXHTTCYQS6APX5VI4ZS6GC7WD7E5FD3B/ > > Signed-off-by: Colin Ian King <colin.king@canonical.com> > --- > src/acpica/source/compiler/aslerror.c | 2 +- > src/acpica/source/compiler/aslexternal.c | 8 ++++++++ > src/acpica/source/compiler/aslload.c | 10 +++++----- > src/acpica/source/compiler/aslmethod.c | 12 ++++++++++++ > src/acpica/source/compiler/aslxref.c | 4 +++- > src/acpica/source/components/executer/exprep.c | 4 ---- > src/acpica/source/components/utilities/utdelete.c | 6 +----- > src/acpica/source/components/utilities/utids.c | 2 +- > src/acpica/source/include/acpixf.h | 2 +- > src/acpica/source/include/actypes.h | 2 +- > 10 files changed, 33 insertions(+), 19 deletions(-) > > diff --git a/src/acpica/source/compiler/aslerror.c b/src/acpica/source/compiler/aslerror.c > index 8fae779d..15098342 100644 > --- a/src/acpica/source/compiler/aslerror.c > +++ b/src/acpica/source/compiler/aslerror.c > @@ -1056,7 +1056,7 @@ GetModifiedLevel ( > UINT8 Level, > UINT16 MessageId) > { > - UINT16 i; > + UINT32 i; > UINT16 ExceptionCode; > > > diff --git a/src/acpica/source/compiler/aslexternal.c b/src/acpica/source/compiler/aslexternal.c > index 315247be..a05ba118 100644 > --- a/src/acpica/source/compiler/aslexternal.c > +++ b/src/acpica/source/compiler/aslexternal.c > @@ -200,6 +200,14 @@ ExDoExternal ( > > > ExternType = AnMapObjTypeToBtype (ExternTypeOp); > + if (ExternType != ACPI_BTYPE_METHOD) > + { > + /* > + * If this is not a method, it has zero parameters this local variable > + * is used only for methods > + */ > + ParamCount = 0; > + } > > /* > * The parser allows optional parameter return types regardless of the > diff --git a/src/acpica/source/compiler/aslload.c b/src/acpica/source/compiler/aslload.c > index bdc0d805..454fa8f5 100644 > --- a/src/acpica/source/compiler/aslload.c > +++ b/src/acpica/source/compiler/aslload.c > @@ -1177,13 +1177,13 @@ LdAnalyzeExternals ( > * previously declared External > */ > Node->Flags &= ~ANOBJ_IS_EXTERNAL; > - Node->Type = (UINT8) ExternalOpType; > + Node->Type = (UINT8) ActualOpType; > > /* Just retyped a node, probably will need to open a scope */ > > - if (AcpiNsOpensScope (ExternalOpType)) > + if (AcpiNsOpensScope (ActualOpType)) > { > - Status = AcpiDsScopeStackPush (Node, ExternalOpType, WalkState); > + Status = AcpiDsScopeStackPush (Node, ActualOpType, WalkState); > if (ACPI_FAILURE (Status)) > { > return (Status); > @@ -1204,11 +1204,11 @@ LdAnalyzeExternals ( > } > else if ((Node->Flags & ANOBJ_IS_EXTERNAL) && > (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL) && > - (ExternalOpType == ACPI_TYPE_ANY)) > + (ActualOpType == ACPI_TYPE_ANY)) > { > /* Allow update of externals of unknown type. */ > > - Node->Type = (UINT8) ExternalOpType; > + Node->Type = (UINT8) ActualExternalOpType; > Status = AE_OK; > } > > diff --git a/src/acpica/source/compiler/aslmethod.c b/src/acpica/source/compiler/aslmethod.c > index ff6fd474..32b4b123 100644 > --- a/src/acpica/source/compiler/aslmethod.c > +++ b/src/acpica/source/compiler/aslmethod.c > @@ -306,6 +306,8 @@ MtMethodAnalysisWalkBegin ( > { > ActualArgs = MtProcessParameterTypeList (NextType, > MethodInfo->ValidArgTypes); > + MethodInfo->NumArguments = ActualArgs; > + ArgNode->Asl.Value.Integer |= ActualArgs; > } > > if ((MethodInfo->NumArguments) && > @@ -671,6 +673,16 @@ MtProcessParameterTypeList ( > UINT8 ParameterCount = 0; > > > + if (ParamTypeOp && ParamTypeOp->Asl.ParseOpcode != PARSEOP_DEFAULT_ARG) > + { > + /* Special case for a single parameter without braces */ > + > + TypeList[ParameterCount] = > + MtProcessTypeOp (ParamTypeOp); > + > + return (1); > + } > + > while (ParamTypeOp) > { > TypeList[ParameterCount] = > diff --git a/src/acpica/source/compiler/aslxref.c b/src/acpica/source/compiler/aslxref.c > index 4bbbe2bd..9306af20 100644 > --- a/src/acpica/source/compiler/aslxref.c > +++ b/src/acpica/source/compiler/aslxref.c > @@ -994,12 +994,14 @@ XfNamespaceLocateBegin ( > * invocation of the method, it is simply a reference to the method. > * > * September 2016: Removed DeRefOf from this list > + * July 2020: Added Alias to this list > */ > if ((Op->Asl.Parent) && > ((Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_REFOF) || > (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_PACKAGE) || > (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_VAR_PACKAGE)|| > - (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_OBJECTTYPE))) > + (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_OBJECTTYPE) || > + (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_ALIAS))) > { > return_ACPI_STATUS (AE_OK); > } > diff --git a/src/acpica/source/components/executer/exprep.c b/src/acpica/source/components/executer/exprep.c > index 6ceac68f..3074366d 100644 > --- a/src/acpica/source/components/executer/exprep.c > +++ b/src/acpica/source/components/executer/exprep.c > @@ -651,10 +651,6 @@ AcpiExPrepFieldValue ( > } > } > > - /* An additional reference for the container */ > - > - AcpiUtAddReference (ObjDesc->Field.RegionObj); > - > ACPI_DEBUG_PRINT ((ACPI_DB_BFIELD, > "RegionField: BitOff %X, Off %X, Gran %X, Region %p\n", > ObjDesc->Field.StartFieldBitOffset, > diff --git a/src/acpica/source/components/utilities/utdelete.c b/src/acpica/source/components/utilities/utdelete.c > index 502ff413..aafd5295 100644 > --- a/src/acpica/source/components/utilities/utdelete.c > +++ b/src/acpica/source/components/utilities/utdelete.c > @@ -749,11 +749,6 @@ AcpiUtUpdateObjectReference ( > NextObject = Object->BufferField.BufferObj; > break; > > - case ACPI_TYPE_LOCAL_REGION_FIELD: > - > - NextObject = Object->Field.RegionObj; > - break; > - > case ACPI_TYPE_LOCAL_BANK_FIELD: > > NextObject = Object->BankField.BankObj; > @@ -789,6 +784,7 @@ AcpiUtUpdateObjectReference ( > } > break; > > + case ACPI_TYPE_LOCAL_REGION_FIELD: > case ACPI_TYPE_REGION: > default: > > diff --git a/src/acpica/source/components/utilities/utids.c b/src/acpica/source/components/utilities/utids.c > index e296c00a..34ae697a 100644 > --- a/src/acpica/source/components/utilities/utids.c > +++ b/src/acpica/source/components/utilities/utids.c > @@ -435,7 +435,7 @@ AcpiUtExecute_CID ( > * 3) Size of the actual CID strings > */ > CidListSize = sizeof (ACPI_PNP_DEVICE_ID_LIST) + > - ((Count - 1) * sizeof (ACPI_PNP_DEVICE_ID)) + > + (Count * sizeof (ACPI_PNP_DEVICE_ID)) + > StringAreaSize; > > CidList = ACPI_ALLOCATE_ZEROED (CidListSize); > diff --git a/src/acpica/source/include/acpixf.h b/src/acpica/source/include/acpixf.h > index 2eafdeac..c1b55401 100644 > --- a/src/acpica/source/include/acpixf.h > +++ b/src/acpica/source/include/acpixf.h > @@ -154,7 +154,7 @@ > > /* Current ACPICA subsystem version in YYYYMMDD format */ > > -#define ACPI_CA_VERSION 0x20200528 > +#define ACPI_CA_VERSION 0x20200717 > > #include "acconfig.h" > #include "actypes.h" > diff --git a/src/acpica/source/include/actypes.h b/src/acpica/source/include/actypes.h > index 2666ebfb..0ec14a36 100644 > --- a/src/acpica/source/include/actypes.h > +++ b/src/acpica/source/include/actypes.h > @@ -1379,7 +1379,7 @@ typedef struct acpi_pnp_device_id_list > { > UINT32 Count; /* Number of IDs in Ids array */ > UINT32 ListSize; /* Size of list, including ID strings */ > - ACPI_PNP_DEVICE_ID Ids[1]; /* ID array */ > + ACPI_PNP_DEVICE_ID Ids[]; /* ID array */ > > } ACPI_PNP_DEVICE_ID_LIST; > > Acked-by: Ivan Hu <ivan.hu@canonical.com>
diff --git a/src/acpica/source/compiler/aslerror.c b/src/acpica/source/compiler/aslerror.c index 8fae779d..15098342 100644 --- a/src/acpica/source/compiler/aslerror.c +++ b/src/acpica/source/compiler/aslerror.c @@ -1056,7 +1056,7 @@ GetModifiedLevel ( UINT8 Level, UINT16 MessageId) { - UINT16 i; + UINT32 i; UINT16 ExceptionCode; diff --git a/src/acpica/source/compiler/aslexternal.c b/src/acpica/source/compiler/aslexternal.c index 315247be..a05ba118 100644 --- a/src/acpica/source/compiler/aslexternal.c +++ b/src/acpica/source/compiler/aslexternal.c @@ -200,6 +200,14 @@ ExDoExternal ( ExternType = AnMapObjTypeToBtype (ExternTypeOp); + if (ExternType != ACPI_BTYPE_METHOD) + { + /* + * If this is not a method, it has zero parameters this local variable + * is used only for methods + */ + ParamCount = 0; + } /* * The parser allows optional parameter return types regardless of the diff --git a/src/acpica/source/compiler/aslload.c b/src/acpica/source/compiler/aslload.c index bdc0d805..454fa8f5 100644 --- a/src/acpica/source/compiler/aslload.c +++ b/src/acpica/source/compiler/aslload.c @@ -1177,13 +1177,13 @@ LdAnalyzeExternals ( * previously declared External */ Node->Flags &= ~ANOBJ_IS_EXTERNAL; - Node->Type = (UINT8) ExternalOpType; + Node->Type = (UINT8) ActualOpType; /* Just retyped a node, probably will need to open a scope */ - if (AcpiNsOpensScope (ExternalOpType)) + if (AcpiNsOpensScope (ActualOpType)) { - Status = AcpiDsScopeStackPush (Node, ExternalOpType, WalkState); + Status = AcpiDsScopeStackPush (Node, ActualOpType, WalkState); if (ACPI_FAILURE (Status)) { return (Status); @@ -1204,11 +1204,11 @@ LdAnalyzeExternals ( } else if ((Node->Flags & ANOBJ_IS_EXTERNAL) && (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL) && - (ExternalOpType == ACPI_TYPE_ANY)) + (ActualOpType == ACPI_TYPE_ANY)) { /* Allow update of externals of unknown type. */ - Node->Type = (UINT8) ExternalOpType; + Node->Type = (UINT8) ActualExternalOpType; Status = AE_OK; } diff --git a/src/acpica/source/compiler/aslmethod.c b/src/acpica/source/compiler/aslmethod.c index ff6fd474..32b4b123 100644 --- a/src/acpica/source/compiler/aslmethod.c +++ b/src/acpica/source/compiler/aslmethod.c @@ -306,6 +306,8 @@ MtMethodAnalysisWalkBegin ( { ActualArgs = MtProcessParameterTypeList (NextType, MethodInfo->ValidArgTypes); + MethodInfo->NumArguments = ActualArgs; + ArgNode->Asl.Value.Integer |= ActualArgs; } if ((MethodInfo->NumArguments) && @@ -671,6 +673,16 @@ MtProcessParameterTypeList ( UINT8 ParameterCount = 0; + if (ParamTypeOp && ParamTypeOp->Asl.ParseOpcode != PARSEOP_DEFAULT_ARG) + { + /* Special case for a single parameter without braces */ + + TypeList[ParameterCount] = + MtProcessTypeOp (ParamTypeOp); + + return (1); + } + while (ParamTypeOp) { TypeList[ParameterCount] = diff --git a/src/acpica/source/compiler/aslxref.c b/src/acpica/source/compiler/aslxref.c index 4bbbe2bd..9306af20 100644 --- a/src/acpica/source/compiler/aslxref.c +++ b/src/acpica/source/compiler/aslxref.c @@ -994,12 +994,14 @@ XfNamespaceLocateBegin ( * invocation of the method, it is simply a reference to the method. * * September 2016: Removed DeRefOf from this list + * July 2020: Added Alias to this list */ if ((Op->Asl.Parent) && ((Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_REFOF) || (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_PACKAGE) || (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_VAR_PACKAGE)|| - (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_OBJECTTYPE))) + (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_OBJECTTYPE) || + (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_ALIAS))) { return_ACPI_STATUS (AE_OK); } diff --git a/src/acpica/source/components/executer/exprep.c b/src/acpica/source/components/executer/exprep.c index 6ceac68f..3074366d 100644 --- a/src/acpica/source/components/executer/exprep.c +++ b/src/acpica/source/components/executer/exprep.c @@ -651,10 +651,6 @@ AcpiExPrepFieldValue ( } } - /* An additional reference for the container */ - - AcpiUtAddReference (ObjDesc->Field.RegionObj); - ACPI_DEBUG_PRINT ((ACPI_DB_BFIELD, "RegionField: BitOff %X, Off %X, Gran %X, Region %p\n", ObjDesc->Field.StartFieldBitOffset, diff --git a/src/acpica/source/components/utilities/utdelete.c b/src/acpica/source/components/utilities/utdelete.c index 502ff413..aafd5295 100644 --- a/src/acpica/source/components/utilities/utdelete.c +++ b/src/acpica/source/components/utilities/utdelete.c @@ -749,11 +749,6 @@ AcpiUtUpdateObjectReference ( NextObject = Object->BufferField.BufferObj; break; - case ACPI_TYPE_LOCAL_REGION_FIELD: - - NextObject = Object->Field.RegionObj; - break; - case ACPI_TYPE_LOCAL_BANK_FIELD: NextObject = Object->BankField.BankObj; @@ -789,6 +784,7 @@ AcpiUtUpdateObjectReference ( } break; + case ACPI_TYPE_LOCAL_REGION_FIELD: case ACPI_TYPE_REGION: default: diff --git a/src/acpica/source/components/utilities/utids.c b/src/acpica/source/components/utilities/utids.c index e296c00a..34ae697a 100644 --- a/src/acpica/source/components/utilities/utids.c +++ b/src/acpica/source/components/utilities/utids.c @@ -435,7 +435,7 @@ AcpiUtExecute_CID ( * 3) Size of the actual CID strings */ CidListSize = sizeof (ACPI_PNP_DEVICE_ID_LIST) + - ((Count - 1) * sizeof (ACPI_PNP_DEVICE_ID)) + + (Count * sizeof (ACPI_PNP_DEVICE_ID)) + StringAreaSize; CidList = ACPI_ALLOCATE_ZEROED (CidListSize); diff --git a/src/acpica/source/include/acpixf.h b/src/acpica/source/include/acpixf.h index 2eafdeac..c1b55401 100644 --- a/src/acpica/source/include/acpixf.h +++ b/src/acpica/source/include/acpixf.h @@ -154,7 +154,7 @@ /* Current ACPICA subsystem version in YYYYMMDD format */ -#define ACPI_CA_VERSION 0x20200528 +#define ACPI_CA_VERSION 0x20200717 #include "acconfig.h" #include "actypes.h" diff --git a/src/acpica/source/include/actypes.h b/src/acpica/source/include/actypes.h index 2666ebfb..0ec14a36 100644 --- a/src/acpica/source/include/actypes.h +++ b/src/acpica/source/include/actypes.h @@ -1379,7 +1379,7 @@ typedef struct acpi_pnp_device_id_list { UINT32 Count; /* Number of IDs in Ids array */ UINT32 ListSize; /* Size of list, including ID strings */ - ACPI_PNP_DEVICE_ID Ids[1]; /* ID array */ + ACPI_PNP_DEVICE_ID Ids[]; /* ID array */ } ACPI_PNP_DEVICE_ID_LIST;