diff options
Diffstat (limited to 'source/components/events/evgpe.c')
-rw-r--r-- | source/components/events/evgpe.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source/components/events/evgpe.c b/source/components/events/evgpe.c index f5ea992a270b..a7ee84c92f11 100644 --- a/source/components/events/evgpe.c +++ b/source/components/events/evgpe.c @@ -316,6 +316,7 @@ AcpiEvMaskGpe ( * FUNCTION: AcpiEvAddGpeReference * * PARAMETERS: GpeEventInfo - Add a reference to this GPE + * ClearOnEnable - Clear GPE status before enabling it * * RETURN: Status * @@ -326,7 +327,8 @@ AcpiEvMaskGpe ( ACPI_STATUS AcpiEvAddGpeReference ( - ACPI_GPE_EVENT_INFO *GpeEventInfo) + ACPI_GPE_EVENT_INFO *GpeEventInfo, + BOOLEAN ClearOnEnable) { ACPI_STATUS Status = AE_OK; @@ -344,6 +346,11 @@ AcpiEvAddGpeReference ( { /* Enable on first reference */ + if (ClearOnEnable) + { + (void) AcpiHwClearGpe (GpeEventInfo); + } + Status = AcpiEvUpdateGpeEnableMask (GpeEventInfo); if (ACPI_SUCCESS (Status)) { |